github-actions[bot] commented on code in PR #63377: URL: https://github.com/apache/doris/pull/63377#discussion_r3308289944
########## cloud/src/common/config.h: ########## @@ -331,6 +331,7 @@ CONF_Int64(txn_lazy_commit_shuffle_seed, "0"); // 0 means generate a random seed // When enabled, defer deleting pending delete bitmaps until lazy commit completes. // This reduces contention during transaction commit by extending delete bitmap locks. CONF_mBool(txn_lazy_commit_defer_deleting_pending_delete_bitmaps, "false"); +CONF_mBool(enable_recycler_check_lazy_txn_finished, "true"); // max TabletIndexPB num for batch get CONF_Int32(max_tablet_index_num_per_batch, "1000"); Review Comment: This switch makes a recycler correctness invariant optional. If an operator disables it while a dropped tablet still has pending lazy-commit transactions, `recycle_tablets()` and `scan_tablets_and_statistics()` will proceed to delete object data and tablet metadata before those lazy commits finish. A later lazy commit can then publish/advance metadata for rowsets whose files or tablet KV were already removed, making the cleanup non-retryable and risking data loss/inconsistent commit state. The recycler should always wait for `check_lazy_txn_finished()` before deleting tablet data/metadata; if a test needs to bypass the check, please use a sync point rather than a mutable production config. -- 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]
