Yukang-Lian opened a new pull request, #61872: URL: https://github.com/apache/doris/pull/61872
## Summary Cherry-pick from apache/doris#60310 (commit 5cbe1b4) to branch-4.0 - Implements compaction read-write separation for cloud mode so that only the cluster that last performed data load executes compaction, preventing file cache invalidation on read-only clusters - **Default is disabled** (`enable_compaction_rw_separation = false`), can be enabled per-cluster via BE config ### Conflict Resolution - `gensrc/proto/cloud.proto`: `TxnInfoPB` field 21 (`defer_deleting_pending_delete_bitmaps`) does not exist on branch-4.0, only added `load_cluster_id` (field 22) from this PR ### Key changes - Track "last active cluster" per tablet in `TabletStatsPB` (updated during `commit_txn`) - FE sets `load_cluster_id` in `TxnInfoPB` during `begin_txn` - BE background thread caches cluster status via `get_cluster_status` RPC - Skip compaction in `get_topn_tablets_to_compact` for tablets owned by other clusters - Safety valve: force compaction when version count exceeds 80% of max - Configurable takeover timeout when write cluster becomes unavailable ## Test plan - Unit tests: `cloud_cluster_info_test`, `compaction_rw_separation_test` - Regression tests: `test_compaction_rw_separation`, `test_compaction_cluster_takeover`, `test_compaction_rw_separation_disabled`, `test_compaction_rw_separation_force` -- 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]
