This is an automated email from the ASF dual-hosted git repository.
hello-stephen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 0af6eaca00c [fix](regression) Use single bucket for unique key delete
compaction cases (#65352)
0af6eaca00c is described below
commit 0af6eaca00c8ac60282dd133b2eca159be09c6c6
Author: shuke <[email protected]>
AuthorDate: Fri Jul 10 11:50:21 2026 +0800
[fix](regression) Use single bucket for unique key delete compaction cases
(#65352)
## Proposed changes
Set an explicit single bucket for the unique-key-with-delete compaction
cases:
- `test_compaction_uniq_keys_with_delete.groovy`
- `test_compaction_uniq_keys_with_delete_ck.groovy`
Both cases keep the original strict `rowCount < 8 * replicaNum` check
and the final `qt_select_default3` query result check after cumulative
compaction.
## Why
Cloud P0 build `987265` failed in
`compaction.test_compaction_uniq_keys_with_delete.test_compaction_uniq_keys_with_delete`:
```text
assert (rowCount < 8 * replicaNum)
8 | 8 1
false
```
The failing build already included the table-level
`"disable_auto_compaction" = "true"` change from #65211. The build log
shows cumulative compaction completed with `[OK]`, but the active
rowsets can still contain exactly `8 * replicaNum` physical rows for
this unique-key + delete scenario.
The default bucket layout lets the same case observe different physical
row-count distributions across tablets. This patch fixes the test table
to `BUCKETS 1`, so the strict cumulative-compaction row-count assertion
is checked under a single-tablet layout instead of depending on
cross-tablet physical distribution.
## Validation
- `git diff --check`
- Inspected TeamCity build `987265` compressed build log:
- table DDL includes `"disable_auto_compaction" = "true"`
- cumulative compaction status is `[OK]`
- active row-count sum is exactly `8`, matching `8 * replicaNum`
- Checked the final PR diff against the PR merge base; it only adds
`BUCKETS 1` to the two case tables.
Buildall requested after the bucket-only update.
## Behavior changed
No user-facing behavior change. Regression case deflake only.
---
.../suites/compaction/test_compaction_uniq_keys_with_delete.groovy | 1 +
.../suites/compaction/test_compaction_uniq_keys_with_delete_ck.groovy | 1 +
2 files changed, 2 insertions(+)
diff --git
a/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete.groovy
b/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete.groovy
index 06f3a00088e..5371e713b01 100644
---
a/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete.groovy
+++
b/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete.groovy
@@ -62,6 +62,7 @@ suite("test_compaction_uniq_keys_with_delete") {
`max_dwell_time` INT DEFAULT "0" COMMENT "用户最大停留时间",
`min_dwell_time` INT DEFAULT "99999" COMMENT "用户最小停留时间")
UNIQUE KEY(`user_id`, `date`, `datev2`, `datetimev2_1`,
`datetimev2_2`, `city`, `age`, `sex`) DISTRIBUTED BY HASH(`user_id`)
+ BUCKETS 1
PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true" );
"""
diff --git
a/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete_ck.groovy
b/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete_ck.groovy
index d311402612a..d18ae62cd4c 100644
---
a/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete_ck.groovy
+++
b/regression-test/suites/compaction/test_compaction_uniq_keys_with_delete_ck.groovy
@@ -64,6 +64,7 @@ suite("test_compaction_uniq_keys_with_delete_ck") {
UNIQUE KEY(`user_id`, `date`, `datev2`, `datetimev2_1`,
`datetimev2_2`, `city`, `age`, `sex`)
ORDER BY(`sex`, `date`, `cost`)
DISTRIBUTED BY HASH(`user_id`)
+ BUCKETS 1
PROPERTIES (
"replication_num" = "1",
"enable_unique_key_merge_on_write" = "true",
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]