Skip to content

test(cdc): replay malformed Debezium key RED on live develop - #304

Closed
seonghobae wants to merge 5 commits into
developfrom
fix/debezium-malformed-key-fallback-b835dfa
Closed

test(cdc): replay malformed Debezium key RED on live develop#304
seonghobae wants to merge 5 commits into
developfrom
fix/debezium-malformed-key-fallback-b835dfa

Conversation

@seonghobae

Copy link
Copy Markdown
Collaborator

Rebuilds the unique data-integrity work from stale/contaminated Draft #209 without rewriting its evidence.

Exact protected base at creation: develop@b835dfabed9c9ae0f385d2601fc7b7b56531cd94. Exact fail-first source: 3e0d1df1f2f6bab48b62372720ec315f45f809c0, one commit ahead and zero behind with merge base exactly that protected tip; the only changed path is cdc-service/src/test/java/com/xtrmetl/cdc/spi/DebeziumChangeRecordMapperTest.java.

The new test supplies valid update data with after.id=42 and malformed optional key JSON. Current production still lets extractPk(...) throw into the required-value parser catch, so the intended RED is that the mapper drops the otherwise recoverable event. Keep Draft until fresh current-base CI proves that production-boundary RED. Then apply only the narrow optional-key parse isolation already proven conceptually in #209, rerun focused/full checks, and preserve the RED commit as ancestry. No predecessor checks/reviews transfer.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 4 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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: da20932b-c8e1-442c-bbfb-4c1b3506fc72

📥 Commits

Reviewing files that changed from the base of the PR and between 502d1e2 and 2af6c9a.

📒 Files selected for processing (2)
  • cdc-service/src/main/java/com/xtrmetl/cdc/spi/DebeziumChangeRecordMapper.java
  • cdc-service/src/test/java/com/xtrmetl/cdc/spi/DebeziumChangeRecordMapperTest.java

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae marked this pull request as ready for review August 12, 2026 18:37
@seonghobae
seonghobae marked this pull request as draft August 12, 2026 19:06

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

Please review the unchanged exact source head 2af6c9a7305ac8364f9e57691568136de6ab3c08. The replacement now preserves the bounded #209 mapper and regression-test blobs byte-for-byte on current develop@502d1e2136f18b7dea3baa792559128dc87fec39; predecessor review/check evidence does not transfer.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

@seonghobae I will review pull request #304 against the current develop@502d1e2136f18b7dea3baa792559128dc87fec39 base. I will treat prior review and check evidence as non-transferable.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Collaborator Author

Superseded by current-base replacement #314 after fresh exact-file comparison. Legacy head 2af6c9a7305ac8364f9e57691568136de6ab3c08 and replacement head 261c995353b48d182147d58c0ba167377cf3d468 both isolate malformed optional Debezium key parsing so a valid value envelope can fall back to after.id=42 instead of being discarded. #314 preserves that production behavior, carries the focused regression as a dedicated test, strengthens the public constructor/map Javadocs, and is based on current protected develop@feaea5d2a353d74919afc9a6971e8c15da5dd2f3. Fresh aggregate CI, Dependency Review, SBOM, Semgrep, and Security Scan are successful on #314's exact source head, but no prior review/check evidence transfers. This removes duplicate stale-base work only.

@seonghobae seonghobae closed this Aug 13, 2026
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.

1 participant