[feature](single replica ingest) support single replica ingest binlog - #67156
[feature](single replica ingest) support single replica ingest binlog#67156Ryan19929 wants to merge 2 commits into
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
Reviewed the current head
Additional review conclusions:
Validation boundary: the real PR patch is the 14-file diff from merge-base |
4af7bc3 to
6be3fa1
Compare
Ryan19929
left a comment
There was a problem hiding this comment.
已按 review 意见修复 4 个 P2 问题并 rebase 到最新 master,当前 head 6be3fa1。
- P2-1:follower distribution pool 改为 set_min_threads(0),默认不再在 BE 启动时预创建 permanent 线程。
- P2-2:_delete_downloaded_files 改为返回 Status,success/failed 两个 cleanup 指标都在 helper 内根据 batch_delete 实际结果更新。
- P2-3:回归测试中指标名改为 doris_be_binlog_ingest_redundant_rowset_cleanup_success_total,并增加 metric 必须被找到(返回值 != -1)的断言。
- P2-4:使用 clang-format 16 格式化 review 列出的 4 个文件,本地 ./build-support/check-format.sh 已通过,git diff --check 通过。
P1(delete-bitmap error propagation)已按说明忽略,等待 #67143。请再次 review。
6be3fa1 to
58a52d4
Compare
Support single replica ingest binlog for CCR, allowing the leader to download rowset files once and distribute to followers, reducing network traffic and improving ingest performance. Includes SCOPED_ATTACH_TASK compatibility fix for latest master.
58a52d4 to
3441694
Compare
What problem does this PR solve?
Issue Number: close #xxx
Related PR: HYDCP/hy-ccr-sycner#3
Problem Summary:
Currently, CCR cross-cluster binlog ingest downloads the same rowset files on every replica, causing redundant cross-cluster traffic and slower ingest. This PR introduces single-replica ingest binlog: the leader BE downloads the rowset once and distributes the files to follower BEs, reducing traffic and improving performance.
Release note
Add feature flag
feature_single_replica_ingest_binlog(default disabled). When enabled, CCR ingests binlog through a single leader replica and distributes rowset files to followers locally.Check List (For Author)
Test
Behavior changed:
New BE-side single-replica ingest path and follower distribution. The legacy multi-replica path remains the default and is used when the feature flag is off.
Does this need documentation?
Document PR is pending.
Check List (For Reviewer who merge this PR)