github-actions[bot] commented on code in PR #65672:
URL: https://github.com/apache/doris/pull/65672#discussion_r3592694369
##########
regression-test/suites/compaction/test_compaction_uniq_keys_with_delete.groovy:
##########
@@ -120,29 +121,35 @@ suite("test_compaction_uniq_keys_with_delete") {
//TabletId,ReplicaId,BackendId,SchemaHash,Version,LstSuccessVersion,LstFailedVersion,LstFailedTime,LocalDataSize,RemoteDataSize,RowCount,State,LstConsistencyCheckTime,CheckVersion,VersionCount,PathHash,MetaUrl,CompactionStatus
def tablets = sql_return_maparray """ show tablets from ${tableName};
"""
- def replicaNum = get_table_replica_num(tableName)
- logger.info("get table replica num: " + replicaNum)
+ def isFullyCompacted = { tabletJson ->
+ def versionRanges = ((List<String>) tabletJson.rowsets).collect {
rowset ->
+ rowset.split(" ")[0]
+ }
+ logger.info("rowset version ranges after cumulative compaction: "
+ versionRanges)
+ return versionRanges.size() == 2 &&
+ versionRanges.contains("[0-1]") &&
+ versionRanges.contains("[2-12]")
Review Comment:
Retrying the same cumulative request is not always a progress guarantee. If
the first trigger sees the valid visible prefix through version 9, it creates
one nonoverlapping `[2-9]` rowset; after versions 10-12 become eligible, that
output plus three singleton tails has compaction score 4. The branch defaults
require score 5 (or 64 MiB), so the policy clears these tiny inputs and every
later trigger is a no-op; the 86400-second idle escape also cannot fit this
300-second wait. Prefixes ending at 10 or 11 are even smaller. Please either
temporarily lower and restore the cumulative minimum so short tails remain
eligible, or disable and restore automatic compaction while loading and
establish BE visibility through version 12 before the first trigger, instead of
relying on retries to force `[2-12]`.
##########
regression-test/suites/compaction/test_compaction_uniq_keys_with_delete_ck.groovy:
##########
@@ -137,29 +138,35 @@ suite("test_compaction_uniq_keys_with_delete_ck") {
//TabletId,ReplicaId,BackendId,SchemaHash,Version,LstSuccessVersion,LstFailedVersion,LstFailedTime,LocalDataSize,RemoteDataSize,RowCount,State,LstConsistencyCheckTime,CheckVersion,VersionCount,PathHash,MetaUrl,CompactionStatus
def tablets = sql_return_maparray """ show tablets from ${tableName};
"""
- def replicaNum = get_table_replica_num(tableName)
- logger.info("get table replica num: " + replicaNum)
+ def isFullyCompacted = { tabletJson ->
+ def versionRanges = ((List<String>) tabletJson.rowsets).collect {
rowset ->
+ rowset.split(" ")[0]
+ }
+ logger.info("rowset version ranges after cumulative compaction: "
+ versionRanges)
+ return versionRanges.size() == 2 &&
+ versionRanges.contains("[0-1]") &&
+ versionRanges.contains("[2-12]")
Review Comment:
On the local/default path, the CK table's `enable_mow_light_delete` makes
these DELETEs `TPushType.DELETE` rowsets with delete predicates (versions 4, 7,
and 10). Since local `enable_delete_when_cumu_compaction` defaults false,
cumulative selection stops/skips at those predicates and advances its point;
cumulative-only retries cannot produce one `[2-12]` rowset, so this exact wait
can time out. Please drive a cumulative/base sequence and assert the
mode-correct terminal shape, or explicitly enable and restore cumulative delete
handling only where that setting is supported, instead of requiring `[2-12]`
unconditionally.
--
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]