Ryan19929 opened a new pull request, #67156:
URL: https://github.com/apache/doris/pull/67156

   ## Proposed changes
   
   Support single replica ingest binlog for CCR, allowing the leader BE to 
download rowset files once and distribute them to follower BEs, reducing 
cross-cluster network traffic and improving ingest performance.
   
   ## Key fixes
   
   - Use request `load_id` as the idempotent key for prepare/commit so retries 
hit the `kAlreadyExist` path stably.
   - Distinguish `kCommitted`/`kAlreadyExist`/`kError` in 
`commit_ingested_rowset`.
   - `kAlreadyExist` no longer overwrites MOW delete bitmap.
   - Leader waits for follower distribution to finish before cleaning up 
redundant files.
   - Follower cleanup reports success/failure metrics consistently.
   - Empty rowset is only allowed when `num_segments == 0`.
   - Follower distribution uses a bounded thread pool; CCR acquires 
leader/follower concurrency windows in globally sorted order to avoid ABBA 
deadlock.
   
   ## Feature flag
   
   `feature_single_replica_ingest_binlog` is disabled by default.
   
   ## Tests
   
   - BE unit test `BackendServiceIngestTest.*` (ASAN)
   - Regression test `test_single_replica_ingest_binlog`
   - CCR `go test ./...` / `go vet` / `gofmt`
   
   ## Related CCR PR
   
   apache/doris-ccp-syner (to be created)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to