Merged
Conversation
fd2c9d2 to
5e85cf9
Compare
ed7d1cf to
16425fc
Compare
caiq1nyu
reviewed
Mar 27, 2026
Add a canary test that freezes the default task_id for check_log configs so internal enum churn does not silently change external prefixes and orchestration contracts.
Inline the merge sink dispatch into MergeParallelizer::sink_dml and drop the extra helper layer to keep the hot path simpler.
…istent pk for unconsistent_rows
42f68c3 to
a649969
Compare
caiq1nyu
approved these changes
Apr 14, 2026
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.
本地测试:
1,000,000行mixed_write工作负载下MySQL / PostgreSQL的32 / 64两档并发。sysbench,PostgreSQL 行使用pgbench。1,000,000行的mixed_write,workload 并发为32/64。check off表示纯 CDC 路径:[extractor] extract_type=cdc、[sinker] sink_type=write、[parallelizer] parallel_type=rdb_merge。check on表示在相同 CDC 路径上启用 inline cdc check:[checker] enable=true、[checker] batch_size=200、[resumer] resume_type=from_target。[sinker] batch_size=200、[parallelizer] parallel_size=8、[pipeline] buffer_size=16000、[pipeline] checkpoint_interval_secs=10。Workload tx events是压测工具自身统计的事务数,不是 CDC 行数。Sinker 相比 off 衰减表示同引擎、同并发下,check on相对check off的对比结果。最终一致表示追平后的最终校验通过。32check off10364687.30/s15.08scaught up3662.41/s-baseline100%-0-yes32check on7733514.10/s15.03scaught up1810.09/s1803.50/s-50.6%100%0%0560yes64check off11857787.87/s15.05scaught up4298.00/s-baseline100%-0-yes64check on11857786.17/s15.08scaught up2989.77/s3005.42/s-30.4%100%2.25%0654yes32check off963026420.84/s15scaught up9547.28/s-baseline16.0%-0-yes32check on1140867611.53/s15scaught up2918.79/s5519.26/s-69.4%100%2.8%018625yes64check off1068987158.22/s15scaught up10562.80/s-baseline100%-0-yes64check on15671510169.59/s15scaught up2869.77/s5433.13/s-72.8%100%9.6%025058yesSummary
parallel_type=rdb_check,pipeline_type=basic, and[resumer] resume_type=from_target|from_db[checker].db_type/url/username/password; target now always comes from[sinker]parallel_type=rdb_checknow requires[checker]inlinefail-open vsstandalonefail-close)apedts_unconsistent_rowsCheck flow