test: stabilize batched update assertions - #44
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (7)
🧰 Additional context used🪛 ast-grep (0.45.1)test/tap/tests/test_batched_updates-t.cpp[error] 151-152: SQL query built with (sql-injection-string-concat-cpp) [error] 170-171: SQL query built with (sql-injection-string-concat-cpp) 🔇 Additional comments (3)
📝 WalkthroughWalkthroughThe batched update test now covers inserts split across timer boundaries. It adds helpers for reading and validating contiguous I3/I4 ranges, then verifies aggregation for two five-row insertion scenarios. ChangesBatched update validation
Estimated code review effort: 2 (Simple) | ~15 minutes Merge Risk: ⚪ Minimal · up to This localized test-only change stabilizes batched update assertions without changing product runtime behavior. No actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Code Review ✅ Approved 1 resolved / 1 findingsRefactors batched update test assertions to accept contiguous I3/I4 sequences across timer boundaries, addressing the residual timer-batching assumption finding. No issues found. ✅ 1 resolved✅ Edge Case: aggregated assertion retains a residual timer-batching assumption
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Important Your trial ends in 4 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |
Summary
I3/I4fragments through each expected GTID rangeRoot cause
The v2.4.0 release gate assumed five inserts would always be emitted in one 300 ms timer window. On Ubuntu 22 the timer flushed after four inserts, producing a valid
I3followed byI4; the test rejected that valid split and blocked image publication.Validation
make -C test/tap/tests test_batched_updates-tMYSQL_VERSIONS=84 docker compose -f test/infra/docker-compose.yml run --rm -e MYSQL_SSL_MODE=REQUIRED -e MYSQL_SSL_VERIFY_SERVER_CERT=0 runner test/tap/run.shThe full dbdeployer MySQL 8.4 TAP suite passed, including the forced split-batch path.
Summary by cubic
Stabilizes the batched update test by accepting contiguous I3/I4 sequences that fully cover each expected GTID range and by requiring aggregation only when the burst fits in one timer window. Previously the test demanded exactly one I3 then one I4 per five inserts and failed on valid split or slow-burst emissions.
freq_ms, 5th insert) to make the split deterministic.read_batched_range,join_lines,cross_timer_boundary, andaggregation_is_required. Validate UUID, ordering, contiguity, and coverage across one or more lines; first group starts with I3, second group emits I4 only.Written for commit 72d9d46. Summary will update on new commits.
Summary by CodeRabbit