github-actions[bot] commented on code in PR #65373:
URL: https://github.com/apache/doris/pull/65373#discussion_r3556808623
##########
regression-test/plugins/plugin_compaction.groovy:
##########
@@ -177,21 +201,97 @@ 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 status_unchanged = (oldStatus["last ${compaction_type}
status"] == tabletStatus["last ${compaction_type} status"])
+ def compactionFailureNonFatal = !failure_time_unchanged &&
Review Comment:
This freshness check now has the opposite failure mode from the stale-status
case it is trying to avoid. A valid repeated no-op compaction can refresh the
failure timestamp while leaving the status text identical: for example,
`FullCompaction::prepare_compact()` records `FULL_NO_SUITABLE_VERSION` with the
same `"There is no suitable version"` text every time there are still no
inputs, and the manual endpoint can return `"Success"` when that worker
finishes after the two-second wait. On the second such attempt
`failure_time_unchanged` is false, `status_unchanged` is true, and the status
is still a type-specific no-op, so `compactionFailureNonFatal` stays false and
the helper throws even though this is the benign no-op it intends to tolerate.
Please do not use string inequality as the attempt freshness proof; either
ensure every failure-time writer refreshes the matching status and accept a
changed failure timestamp plus a no-op status, or add a per-attempt signal that
can distingui
sh stale statuses without rejecting repeated identical no-op results.
--
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]