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


##########
regression-test/plugins/plugin_compaction.groovy:
##########
@@ -138,9 +148,26 @@ Suite.metaClass.trigger_and_wait_compaction = { String 
table_name, String compac
                 def tabletStatus = parseJson(stdout.trim())
                 def oldStatus = 
be_tablet_compaction_status.get("${be_host}-${tablet.TabletId}")
                 // last compaction success/failure time isn't updated, 
indicates compaction is not started(so we treat it as running and wait)
+                def handedOffToBaseCompactionAfterDeleteVersion = false
+                def completedByBaseCompactionAfterDeleteVersion = false
+                if (compaction_type == "cumulative") {
+                    def oldCumulativePoint = 
toLongOrNull(oldStatus["cumulative point"])
+                    def newCumulativePoint = 
toLongOrNull(tabletStatus["cumulative point"])
+                    def lastCumulativeStatus = "${tabletStatus["last 
cumulative status"]}".toLowerCase()
+                    def baseSuccessTimeChanged = oldStatus["last base success 
time"] != tabletStatus["last base success time"]
+                    // E-2010 advances the cumulative point and lets base 
compaction handle delete-version rowsets.
+                    handedOffToBaseCompactionAfterDeleteVersion = 
lastCumulativeStatus.contains("e-2010") &&
+                            oldCumulativePoint != null && newCumulativePoint 
!= null &&
+                            newCumulativePoint > oldCumulativePoint
+                    completedByBaseCompactionAfterDeleteVersion =

Review Comment:
   The handoff case is not actually tied to the base compaction that should 
process the delete-version rowsets. This helper only triggers the requested 
type, so for `trigger_and_wait_compaction(table, "cumulative")` we can observe 
E-2010 plus an advanced cumulative point and then keep polling until the 
Awaitility timeout for `last base success time` to change when auto compaction 
is disabled; several callers set `"disable_auto_compaction" = "true"` and 
trigger base explicitly later (or not at all). The opposite race is also 
possible: any unrelated base compaction on the same tablet can change this 
timestamp and make the helper return without proving this handoff was handled. 
Please either treat the E-2010 cumulative-point advance as the terminal 
cumulative result, or explicitly trigger/wait the follow-up base compaction 
with a baseline taken after the handoff.



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