shuke987 commented on code in PR #64945:
URL: https://github.com/apache/doris/pull/64945#discussion_r3504009876


##########
regression-test/plugins/plugin_compaction.groovy:
##########
@@ -146,9 +156,20 @@ 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 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.
+                    completedByBaseCompactionAfterDeleteVersion = 
lastCumulativeStatus.contains("e-2010") &&
+                            oldCumulativePoint != null && newCumulativePoint 
!= null &&
+                            newCumulativePoint > oldCumulativePoint && 
baseSuccessTimeChanged
+                }
                 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"])
-                running = running || (success_time_unchanged && 
failure_time_unchanged)
+                running = running || ((success_time_unchanged && 
failure_time_unchanged) && !completedByBaseCompactionAfterDeleteVersion)

Review Comment:
   Good catch. Updated the wait condition so once E-2010 advances the 
cumulative point, the helper treats it as a delete-version handoff and keeps 
waiting until last base success time changes. A cumulative failure timestamp 
change alone no longer lets this path finish.



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