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

[admin-tool] Allow admin tool to dump kafka topics have no store vers… #929

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

lluwm
Copy link
Contributor

@lluwm lluwm commented Apr 3, 2024

…ion in Venice

Today KafkaTopicDumper does not allow dump kafka topics that don't have a corresponding venice store version. For debugging purpose, dumping such kafka topics might still be useful. This change relaxes such condition and report a warning message when it happens.

How was this PR tested?

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.

…ion in Venice

Today KafkaTopicDumper does not allow dump kafka topics that don't have a corresponding venice store
version. For debugging purpose, dumping such kafka topics might still be useful. This change relaxes
such condition and report a warning message when it happens.
this.isChunkingEnabled = storeInfo.getVersion(version).get().isChunkingEnabled();
} else {
// Use the default chunking setting from store if the version does not exist.
this.isChunkingEnabled = storeInfo.isChunkingEnabled();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be wrong as the chunking flag in store level can be different from the version level.
I wonder whether we can dynamically infer whether the chunking is enabled or not as when chunking is enabled, when chunking is enabled, regular key will have the NON_CHUNK_KEY_SUFFIX, so I guess we can try to compare the tailing part of key is same as the serialized bytes of NON_CHUNK_KEY_SUFFIX or not.

Another more complex way is to write the chunking flag into SOP message, which would need to evolve KME schema, and we don't have to do that for this debugging purpose.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, I am wondering can we make every store/version chunking + rmd chunking enabled? For <1MB data, that's not going to change anything, is that right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chunking has some overhead as it will append some chunking suffix into the key, and in theory, we don't want to enable chunking by default as the large value is not expected in the regular stores as it would slow down the read path significantly.

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.

None yet

3 participants