github-actions[bot] commented on code in PR #65373:
URL: https://github.com/apache/doris/pull/65373#discussion_r3556944677


##########
be/src/cloud/cloud_storage_engine.cpp:
##########
@@ -773,6 +773,7 @@ Status 
CloudStorageEngine::_request_tablet_global_compaction_lock(
             LOG_WARNING("failed to request cumu compactoin global lock")
                     .tag("tablet id", tablet->tablet_id())
                     .tag("msg", st.to_string());
+            tablet->set_last_cumu_compaction_status(st.to_string());

Review Comment:
   This status refresh fixes the global-lock failure path, but the helper now 
depends on every fresh failure timestamp having a matching fresh status. There 
is still another cloud cumulative writer below that only updates 
`last_cumu_compaction_failure_time`: when `_should_delay_large_task()` fires in 
`_submit_cumulative_compaction_task()`, line 1078 records the failure time, 
erases the executing task, and returns before `execute_compact()` can refresh 
`last cumulative status`. If the tablet previously had a real no-op cumulative 
`E-2000` status, the updated Groovy helper sees the new failure time plus that 
stale no-op status and sets `compactionFailureNonFatal`, so the manual 
compaction helper can finish even though this request was just delayed and no 
compaction ran. Please refresh `last_cumu_compaction_status` on that delay path 
as well, or make the helper require a per-attempt status/failure signal before 
suppressing cumulative no-op failures.



-- 
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