Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[compat] [controller] add rt topic name in store config #1293

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

arjun4084346
Copy link
Contributor

@arjun4084346 arjun4084346 commented Nov 8, 2024

Add a field realTimeTopicName in store and store-version hybrid config

In future, we want to provide users/admin ability to create a new real time topic, probably with some different configurations, e.g. partition count. This new real time topic would co-exist with the old real time topic for some time, so we want to give it a different name.
This PR will make all the components check the real time topic's name, if it exists, in Store/Store-Version hybrid config. If the config does not have any name, it would be assumed, that there is no new topic right now and we can use the old methodology "<store_name>_rt" to determine the real time topic name.

Verson.composeRealTimeTopic method is moved to Utils.
Utils.getRealTimeTopicName are the core methods of this PR.

When store is not hybrid, current version is also not hybrid, and two older versions are using two different rt topics.
This method will return one of those RT topic, because both the RT topics are "active" and will be having data mirroring tasks copying data to/from each other

Note that, in future, when creating new RT topic, I plan to add condition that there should not exists more than one rt topics, because it will increase data replication processes exponentially. So at one point, we will allow only two RT topics

Resolves #XXX

How was this PR tested?

added integration tests.

Does this PR introduce any user-facing changes?

  • No. You can skip the rest of this section.
  • Yes. Make sure to explain your proposed changes and call out the behavior change.

@arjun4084346 arjun4084346 force-pushed the rttopicname branch 3 times, most recently from 6cedc00 to 20785a8 Compare November 14, 2024 00:57
@arjun4084346 arjun4084346 changed the title [controller] add rt topic name in store config [compat] [controller] add rt topic name in store config Nov 14, 2024
@arjun4084346 arjun4084346 changed the title [compat] [controller] add rt topic name in store config [DRAFT] [compat] [controller] add rt topic name in store config Nov 15, 2024
@arjun4084346 arjun4084346 changed the title [DRAFT] [compat] [controller] add rt topic name in store config [compat] [controller] add rt topic name in store config Nov 18, 2024
fix serialization
fix tests
fix documentation
move methods from Version to Utils
@arjun4084346 arjun4084346 changed the title [compat] [controller] add rt topic name in store config [DRAFT] [compat] [controller] add rt topic name in store config Nov 22, 2024
@arjun4084346 arjun4084346 changed the title [DRAFT] [compat] [controller] add rt topic name in store config [compat] [controller] add rt topic name in store config Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants