fix(connector): drain kafka enumerator events during meta split discovery (#25405)#25406
Open
tabVersion wants to merge 1 commit intorelease-2.8from
Open
fix(connector): drain kafka enumerator events during meta split discovery (#25405)#25406tabVersion wants to merge 1 commit intorelease-2.8from
tabVersion wants to merge 1 commit intorelease-2.8from
Conversation
Meta's Kafka split enumerator uses BaseConsumer, so source-manager ticks can accumulate queued librdkafka callbacks when statistics reporting is enabled. Poll once at the start of list_splits and warn on explicit poll errors while keeping split discovery on its existing happy path. Constraint: Keep the fix minimal and meta-scoped to the enumerator path Rejected: Add a dedicated background poll loop | larger lifecycle change for a targeted mitigation Confidence: medium Scope-risk: narrow Reversibility: clean Directive: If queued event pressure persists, revisit the shared consumer cache key and enumerator polling model Tested: rustfmt --edition 2024 src/connector/src/source/kafka/enumerator.rs; cargo check -p risingwave_connector --lib --quiet Not-tested: Runtime validation against a real Kafka broker with statistics.interval.ms enabled
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backport the meta-side Kafka enumerator polling fix to
release-2.8.This keeps the
KafkaSplitEnumerator'sBaseConsumerfrom leaving queued librdkafka callbacks unserved during meta's periodic split discovery whenstatistics.interval.msis enabled.What changed
list_splits()tracing::warn!when that poll returnsSome(Err(_))Why backport
Meta on the release branch uses the same long-lived Kafka split enumerator path in source manager, so the same callback-queue pressure applies there.
Validation
rustfmt --edition 2024 src/connector/src/source/kafka/enumerator.rscargo check -p risingwave_connector --lib --quiet