INTEGRATION [PR#2749 > development/9.5] BB-780: Configure CRR queue processor poll interval#2759
Merged
bert-e merged 8 commits intoJun 9, 2026
Conversation
TDD: specify the contract first. The replication queue processor accepts an optional maxPollIntervalMs in its config block; tests/config.json sets a distinctive value (350000) so the pass-through is provable, the value is optional, and values below 45000 are rejected. These tests fail until the next commit adds the schema and wiring (both pushed together so CI sees the green tip).
max.poll.interval.ms was pinned to its 5 minute default. Lowering mpu_parts_concurrency to protect Metadata makes a large-MPU replication exceed it, which evicts the queue processor's consumer and redelivers the partition - losing the partial transfer and leaving orphan parts. Let the replication queue processor set an optional maxPollIntervalMs in its config block (min 45000, the librdkafka session.timeout.ms floor); unset falls back to BackbeatConsumer's existing 300000 default. Scoped to the queue processor - the only consumer with the slow-task problem (the status processor does fast metadata writes). Adds a matching EXTENSIONS_REPLICATION_QUEUE_PROCESSOR_MAX_POLL_INTERVAL_MS mapping.
The schema only enforced a floor (min 45000). Add a 30-minute ceiling (1800000 ms) so an operator can't set an unbounded maxPollIntervalMs. This knob exists to let a single slow large-MPU transfer finish, not to mask a wedged consumer: a poll gap beyond 30 min means the task is stuck, and we want kafka to evict and redeliver rather than hide the failure behind an ever-growing timeout. Over-limit values are rejected, mirroring how the floor rejects under-limit values (no silent clamping).
…rval' into w/9.1/improvement/BB-780-crr-poll-interval
…topus/w/9.2/improvement/BB-780-crr-poll-interval
…topus/w/9.3/improvement/BB-780-crr-poll-interval
…topus/w/9.4/improvement/BB-780-crr-poll-interval
|
LGTM — clean, well-bounded change. Joi validation, env var plumbing, and BackbeatConsumer pass-through are all consistent with existing patterns. Test coverage is solid. Review by Claude Code |
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.
This pull request has been created automatically.
It is linked to its parent pull request #2749.
Do not edit this pull request directly.
If you need to amend/cancel the changeset on branch
w/9.5/improvement/BB-780-crr-poll-interval, please follow thisprocedure:
git fetch git checkout w/9.5/improvement/BB-780-crr-poll-interval # <amend or cancel the changeset by _adding_ new commits> git push origin w/9.5/improvement/BB-780-crr-poll-intervalPlease always comment pull request #2749 instead of this one.