github-actions[bot] commented on code in PR #65373:
URL: https://github.com/apache/doris/pull/65373#discussion_r3568004574
##########
be/src/cloud/cloud_storage_engine.cpp:
##########
@@ -1072,7 +1075,21 @@ Status
CloudStorageEngine::_submit_cumulative_compaction_task(const CloudTabletS
long now =
duration_cast<milliseconds>(system_clock::now().time_since_epoch())
.count();
// sleep 5s for this tablet
+ tablet->set_last_cumu_compaction_status(
Review Comment:
This now aborts the prepared meta-service job, but it does so while
`_cumu_compaction_delay_mtx` is still held. `garbage_collection()` calls
`abort_tablet_job()`, which goes through `retry_rpc()` and can wait through
brpc timeouts/retries; if abort fails this block can then call
`remove_delete_bitmap_update_lock()` through the same RPC path. While that
happens, unrelated cumulative workers cannot enter their defer cleanup to
decrement
`_cumu_compaction_thread_pool_used_threads`/`_cumu_compaction_thread_pool_small_tasks_running`
or erase `_submitted_cumu_compactions`, and new workers cannot evaluate
`_should_delay_large_task()`. Please keep only the counter/decision work under
this mutex and run the abort/delete-bitmap fallback after releasing it, while
still erasing `_executing_cumu_compactions` after the abort so lease ordering
is preserved.
--
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]