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


##########
regression-test/plugins/plugin_compaction.groovy:
##########
@@ -177,21 +202,107 @@ Suite.metaClass.trigger_and_wait_compaction = { String 
table_name, String compac
                 }
                 def success_time_unchanged = (oldStatus["last 
${compaction_type} success time"] == tabletStatus["last ${compaction_type} 
success time"])
                 def failure_time_unchanged = (oldStatus["last 
${compaction_type} failure time"] == tabletStatus["last ${compaction_type} 
failure time"])
-                def currentCompactionTimestampChanged = 
!success_time_unchanged || !failure_time_unchanged
-                def compactionFinished = 
completedByBaseCompactionAfterDeleteVersion ||
-                        (!handedOffToBaseCompactionAfterDeleteVersion && 
currentCompactionTimestampChanged)
+                def cumulative_completion_count_unchanged = compaction_type != 
"cumulative" ||
+                        oldStatus["cumulative compaction completed count"] ==
+                                tabletStatus["cumulative compaction completed 
count"]
+                def currentCompactionStatus = tabletStatus["last 
${compaction_type} status"]
+                def statusOk = 
"${currentCompactionStatus}".toLowerCase().contains("[ok]")
+                def terminalStatusChanged = !failure_time_unchanged ||
+                        !cumulative_completion_count_unchanged
+                def compactionFailureNonFatal = terminalStatusChanged &&

Review Comment:
   This still has a no-op timeout case on the shared-nothing manual cumulative 
path. The HTTP action returns `Success` when the detached callback has not 
finished after two seconds, so the helper adds the tablet to 
`triggered_tablets`. If that callback then returns from 
`CumulativeCompaction::prepare_compact()` with 
`CUMULATIVE_NO_SUITABLE_VERSION`, the direct manual path only refreshes `last 
cumulative status`; it never reaches `execute_compact()` to increment 
`cumulative compaction completed count`, and unlike 
`Tablet::prepare_compaction_and_calculate_permits()` it does not write `last 
cumulative failure time`. Once `/run_status` is false, `terminalStatusChanged` 
is still false, so the fresh `E-2000` no-op status is ignored and this helper 
can wait until timeout. Please record a per-attempt terminal signal for this 
direct prepare-stage cumulative no-op, or otherwise let the helper safely 
accept a changed no-op status from the same manual attempt.



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