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]

Reply via email to