github-actions[bot] commented on code in PR #66229: URL: https://github.com/apache/doris/pull/66229#discussion_r3675269407
########## cloud/src/common/config.h: ########## @@ -296,8 +296,8 @@ CONF_mBool(enable_load_txn_status_check, "true"); CONF_mBool(enable_tablet_job_check, "true"); CONF_mBool(enable_recycle_delete_rowset_key_check, "true"); -CONF_mBool(enable_mark_delete_rowset_before_recycle, "true"); -CONF_mBool(enable_abort_txn_and_job_for_delete_rowset_before_recycle, "true"); +CONF_mBool(enable_mark_delete_rowset_before_recycle, "false"); Review Comment: [P1] Preserve an ownership fence before disabling these defaults With both defaults false, the non-versioned recycler can select an expired PREPARE rowset and queue object deletion while its recycle key is still present and unmarked. A concurrent `commit_rowset()` can consume that key and publish tmp metadata, after which the queued worker deletes the now-committed files. The tmp path has the same problem for deferred commits: it can delete/remove all unmarked tmp rows of a transaction left `COMMITTED`, and `TxnLazyCommitTask` accepts the later empty scan and advances that transaction to `VISIBLE`. Versioned ref-counts and retention only narrow the window; they do not establish ownership. Every changed test forces true/true, so none exercises the shipped false/false path. Please keep both fences enabled or add an equivalent atomic claim-before-delete protocol with deterministic race coverage. -- 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]
