test(cdc): preserve zero Kafka retry semantics - #251
Conversation
|
Warning Review limit reached
Next review available in: 57 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review Please review exact current source head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== revision =='
git rev-parse HEAD
git status --short
printf '%s\n' '== diff summary from stated base =='
git diff --stat 942d164ceb7af497bb28a95f842db96429d1bdc4..13d3bf6372abf8ae6cf214e3d5728aceaace2101
printf '%s\n' '== changed paths =='
git diff --name-status 942d164ceb7af497bb28a95f842db96429d1bdc4..13d3bf6372abf8ae6cf214e3d5728aceaace2101
printf '%s\n' '== KafkaConfig candidates =='
fd -t f 'KafkaConfig(\.java|Test\.java)$' .
printf '%s\n' '== structural outlines =='
while IFS= read -r file; do
printf '\n-- %s --\n' "$file"
ast-grep outline "$file" --items all --type class,method
done < <(fd -t f 'KafkaConfig(\.java|Test\.java)$' .)
printf '%s\n' '== targeted diff =='
git diff --find-renames --find-copies --unified=80 \
942d164ceb7af497bb28a95f842db96429d1bdc4..13d3bf6372abf8ae6cf214e3d5728aceaace2101 \
-- $(fd -t f 'KafkaConfig(\.java|Test\.java)$' .)Length of output: 1922 🏁 Script executed: #!/bin/bash
set -euo pipefail
main_file="cdc-service/src/main/java/com/xtrmetl/cdc/config/KafkaConfig.java"
test_file="cdc-service/src/test/java/com/xtrmetl/cdc/config/KafkaConfigTest.java"
printf '%s\n' '== AST outlines =='
ast-grep outline "$main_file" --items all --type class,method
ast-grep outline "$test_file" --items all --type class,method
printf '%s\n' '== KafkaConfig.java =='
cat -n "$main_file"
printf '%s\n' '== KafkaConfigTest.java =='
cat -n "$test_file"
printf '%s\n' '== exact current diff =='
git diff --unified=100 942d164ceb7af497bb28a95f842db96429d1bdc4..HEAD -- \
"$main_file" "$test_file"
printf '%s\n' '== retry setting declarations and uses =='
rg -n -C 4 --glob '*.java' --glob '*.yml' --glob '*.yaml' --glob '*.properties' \
'xtrmetl\.replica\.kafka\.retry-(backoff-ms|max-attempts)|retryBackoff|retryMaxAttempts|FixedBackOff|kafkaListenerErrorHandler\s*\(' \
.Length of output: 52484 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== base relation and diff hygiene =='
git merge-base --is-ancestor 942d164ceb7af497bb28a95f842db96429d1bdc4 HEAD
printf 'merge-base: '
git merge-base 942d164ceb7af497bb28a95f842db96429d1bdc4 HEAD
git diff --check 942d164ceb7af497bb28a95f842db96429d1bdc4..HEAD
printf '%s\n' '== XtrmetlProperties Kafka declaration =='
sed -n '1,235p' cdc-service/src/main/java/com/xtrmetl/cdc/config/XtrmetlProperties.java
printf '%s\n' '== configuration resources that define the Kafka retry keys =='
rg -n -C 4 --glob '*.yml' --glob '*.yaml' --glob '*.properties' \
'retry-backoff-ms|retry-max-attempts|xtrmetl:' cdc-service
printf '%s\n' '== retry-related test coverage outside KafkaConfigTest =='
rg -n -C 3 --glob '*Test.java' --glob '*IT.java' \
'retry-backoff-ms|retry-max-attempts|retryBackoffMs|retryMaxAttempts' cdc-serviceLength of output: 10158
I found no actionable issues in the requested scope.
I did not execute repository code or tests in this sandbox. This review does not approve the PR or change its Draft status.
|
Protected
develop@f340d37caba9df0d4aeb88e5d18b78bd8cca4b60already contains the core #250 fail-closed production fix: negative retry backoff and negative retry-attempt values are rejected before SpringFixedBackOffconstruction. This PR now carries only the remaining quality delta after a non-destructive refresh onto that live base.Exact current state:
8703321886643edc5e20d85d6dad3157f531d5b1develop@f340d37caba9df0d4aeb88e5d18b78bd8cca4b6097245cb9921b68a48410a8dfc8cc3c992abb57a7+ live protected baseUnique delta:
kafkaListenerContainerFactory(...)and its record-level acknowledgement/error-handler contract.No duplicate production validation is reintroduced. Existing positive/default behavior, DLT routing, exception classification, listener concurrency and RECORD acknowledgement remain inherited from protected develop.
Fresh current-head workflow aggregates completed successfully for CI, Dependency Review, Generate SBOM, SAST, and Security. Those status aggregates are not substitutes for literal exact-head execution, complete non-vacuous owned-production coverage, complete dependency-vulnerability materialization, or a qualifying independent non-author formal APPROVED review. Historical predecessor evidence does not transfer.