-
Notifications
You must be signed in to change notification settings - Fork 14.8k
KAFKA-19858: Move the __remote_log_metadata to internal #20822
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
base: trunk
Are you sure you want to change the base?
Conversation
Signed-off-by: stroller <[email protected]>
| public static final String LEGAL_CHARS = "[a-zA-Z0-9._-]"; | ||
|
|
||
| private static final Set<String> INTERNAL_TOPICS = Set.of(GROUP_METADATA_TOPIC_NAME, TRANSACTION_STATE_TOPIC_NAME, SHARE_GROUP_STATE_TOPIC_NAME); | ||
| private static final Set<String> INTERNAL_TOPICS = Set.of(GROUP_METADATA_TOPIC_NAME, TRANSACTION_STATE_TOPIC_NAME, SHARE_GROUP_STATE_TOPIC_NAME, REMOTE_LOG_METADATA_TOPIC_NAME); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe internal topics are those fundamental to kafka's core and are handled uniquely, not via standard producer/consumer logic. Therefore, REMOTE_LOG_METADATA_TOPIC_NAME is similar to connector topics rather than an internal topic
@AndrewJSchofield @jiafu1115 WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may be correct, but I think the main difference is that internal topics are filtered out of listing topics by default. I do think that we need to tread carefully here. If there is any doubt about making this an internal topic, we should not do it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AndrewJSchofield @chia7712 I agree. I just created this PR as an example to show what the code changes would look like if we decided to proceed. I think we can leave it here for future discussion: It involve how we define the internal topic: not allow to see or not allow to be write by standard producer.
Thanks
| sendResponseCallback(Map.empty) | ||
| else { | ||
| val internalTopicsAllowed = request.header.clientId == "__admin_client" | ||
| val internalTopicsAllowed = request.header.clientId != null && request.header.clientId.startsWith("__") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should not touch this "backdoor" - I have posted a discussion on the https://issues.apache.org/jira/browse/KAFKA-5246
No description provided.