Background
Doris Cross-Cluster Replication (CCR) keeps a target cluster in sync with a source cluster: full initialization via BACKUP/RESTORE, then continuous incremental sync by pulling binlog commit sequences from the source and applying them on the target through transactional ingest binlog. The open-source syncer lives in selectdb/ccr-syncer; Doris FE/BE provide backup/restore, binlog, and ingest APIs.
This is an umbrella / tracking issue to consolidate CCR-related work — bug fixes, feature requests, and full-sync performance improvements — across apache/doris and selectdb/ccr-syncer, so contributors and maintainers have a single place to see status and pick up work. Related umbrella: #66252. Please comment below to add items or volunteer.
Open bugs & compatibility breakage
Open feature requests
Storage medium sync
Cross-cluster clusters often differ in SSD/HDD policy; restore and MODIFY PARTITION need explicit medium control on both sides.
Replication-num heterogeneity
CCR full-sync optimization
CCR full sync is BACKUP → RESTORE; at scale FE memory, concurrency limits, and staging cleanup become bottlenecks.
Single-replica ingest binlog
CCR ops & FE connectivity
Open pull requests awaiting review
Recently completed (last ~12 months)
ccr-syncer
apache/doris
Earlier / closed without merge (for reference)
Background
Doris Cross-Cluster Replication (CCR) keeps a target cluster in sync with a source cluster: full initialization via
BACKUP/RESTORE, then continuous incremental sync by pulling binlog commit sequences from the source and applying them on the target through transactionalingest binlog. The open-source syncer lives inselectdb/ccr-syncer; Doris FE/BE provide backup/restore, binlog, and ingest APIs.This is an umbrella / tracking issue to consolidate CCR-related work — bug fixes, feature requests, and full-sync performance improvements — across apache/doris and selectdb/ccr-syncer, so contributors and maintainers have a single place to see status and pick up work. Related umbrella: #66252. Please comment below to add items or volunteer.
Open bugs & compatibility breakage
DROP TABLE; task keeps polling with no warning. → fix in feat: auto-recover table sync when upstream table recreated selectdb/ccr-syncer#660 (open, lint CI failing — needs review)REPLACE TABLE … PROPERTIES('swap'='true');REPLACE_TABLEbinlogtableIdsonly attachesorigTblId. (no Doris PR yet — needsBinlogManager.addReplaceTablefix)get_binlog_inforeturns not found for existing binlog files after tablet clone; CCR incremental ingest fails. (no PR yet)tmp_dirmay not be cleaned up after backup jobs. → fix in [fix](backup) clean up FE backup staging directories #65642 (open, needs review) · also in HYDCP/hy-doris#66, #67 (not yet in apache/doris)Open feature requests
Storage medium sync
Cross-cluster clusters often differ in SSD/HDD policy; restore and
MODIFY PARTITIONneed explicit medium control on both sides.Replication-num heterogeneity
replication_numfor downstream cluster. (merged)replication_num. (merged)atomic_restorewith different replica num. → HYDCP/hy-doris#51 (not yet in apache/doris)CCR full-sync optimization
CCR full sync is
BACKUP → RESTORE; at scale FE memory, concurrency limits, and staging cleanup become bottlenecks.Single-replica ingest binlog
CCR ops & FE connectivity
/job_statusnot updating after Pause/Resume. (merged)NOT_MASTERerrors. → HYDCP/hy-doris#53 (not yet in apache/doris)Open pull requests awaiting review
Recently completed (last ~12 months)
ccr-syncer
Dest.TableIdafterpartialSyncin TableSync mode.replication_num./job_statusnot updating after Pause/Resume.replication_numfor downstream cluster.tableRecordadd delta rows.apache/doris
Earlier / closed without merge (for reference)
atomic_restorereplica mismatch discussion → doris#42337 / HYDCP/hy-doris#51