This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 912feb205c0 [fix](regression) Remove bucketed percentile merge case
from branch-4.1 (#68509)
912feb205c0 is described below
commit 912feb205c0e4ca958878f257c5608f1fe6be447
Author: Jerry Hu <[email protected]>
AuthorDate: Sat Sep 26 19:50:22 2026 +0800
[fix](regression) Remove bucketed percentile merge case from branch-4.1
(#68509)
### What problem does this PR solve?
Issue Number: None
Related PR: #68318 #68475
Problem Summary: The backport of #68318 to branch-4.1 (#68475) also
brought
the regression case `query_p0/aggregate/percentile_bucketed_agg_merge`.
The
case targets the bucketed hash aggregation operator and sets
`enable_bucketed_hash_agg=true` plus the `bucketed_agg_*` session
variables.
Bucketed hash aggregation (#61495) only exists on master; branch-4.1 has
neither the operator nor these session variables. Every P0 and cloud P0
run
of a branch-4.1 PR therefore fails deterministically at
`set enable_bucketed_hash_agg=true`:
Unknown system variable 'enable_bucketed_hash_agg'
The source-side state merge that the case protects does not exist on
branch-4.1, so there is nothing for the case to cover there. The
percentile
merge fix itself stays covered by the backported BE unit test
`be/test/util/percentile_util_test.cpp`. Remove the case and its
expected
output from branch-4.1 only; master keeps it.
### Release note
None
### Check List (For Author)
- Test:
- No need to test: test-only removal. Verified that branch-4.1 has no
`enable_bucketed_hash_agg` / `bucketed_agg_*` session variable and no
bucketed aggregation operator, and that nothing else references the
removed case.
- Behavior changed: No
- Does this need documentation: No
---
.../aggregate/percentile_bucketed_agg_merge.out | 23 ------
.../aggregate/percentile_bucketed_agg_merge.groovy | 93 ----------------------
2 files changed, 116 deletions(-)
diff --git
a/regression-test/data/query_p0/aggregate/percentile_bucketed_agg_merge.out
b/regression-test/data/query_p0/aggregate/percentile_bucketed_agg_merge.out
deleted file mode 100644
index f176744d803..00000000000
--- a/regression-test/data/query_p0/aggregate/percentile_bucketed_agg_merge.out
+++ /dev/null
@@ -1,23 +0,0 @@
--- This file is automatically generated. You should know what you did if you
want to edit this
--- !union_merge --
-6.25
-
--- !union_merge_group --
-0 6
-1 6.375
-
--- !percentile_group --
-0 6 [0, 1, 5, 8]
-1 6.375 [0, 2.25, 4.5, 10]
-
--- !union_merge_no_bucketed --
-6.25
-
--- !union_merge_group_no_bucketed --
-0 6
-1 6.375
-
--- !percentile_group_no_bucketed --
-0 6 [0, 1, 5, 8]
-1 6.375 [0, 2.25, 4.5, 10]
-
diff --git
a/regression-test/suites/query_p0/aggregate/percentile_bucketed_agg_merge.groovy
b/regression-test/suites/query_p0/aggregate/percentile_bucketed_agg_merge.groovy
deleted file mode 100644
index cfe27b6bca9..00000000000
---
a/regression-test/suites/query_p0/aggregate/percentile_bucketed_agg_merge.groovy
+++ /dev/null
@@ -1,93 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-// Bucketed hash aggregation merges the per-instance states of the same group
in the
-// source operator. PERCENTILE states merged there must keep every sample of
both sides.
-suite("percentile_bucketed_agg_merge") {
- sql "set experimental_enable_agg_state=true"
- sql "set enable_bucketed_hash_agg=true"
- sql "set be_number_for_test=1"
- sql "set agg_phase=1"
- sql "set parallel_pipeline_task_num=4"
- sql "set bucketed_agg_min_input_rows=0"
- sql "set bucketed_agg_max_group_keys=0"
- sql "set bucketed_agg_high_card_threshold=1.0"
-
- sql "DROP TABLE IF EXISTS percentile_bucketed_agg_merge_t"
- sql """
- CREATE TABLE percentile_bucketed_agg_merge_t (
- id INT NOT NULL,
- shard INT NOT NULL,
- v INT NOT NULL
- )
- DUPLICATE KEY(id)
- DISTRIBUTED BY HASH(id) BUCKETS 8
- PROPERTIES ('replication_num' = '1')
- """
- sql """
- INSERT INTO percentile_bucketed_agg_merge_t VALUES
- (1, 0, 0), (2, 1, 0), (4, 1, 10),
- (5, 0, 7), (6, 1, 3), (7, 0, 1), (8, 1, 9),
- (9, 0, 5), (10, 1, 2), (11, 0, 8), (12, 1, 6)
- """
-
- explain {
- sql """
- SELECT shard, PERCENTILE_UNION(PERCENTILE_STATE(v, CAST(0.625 AS
DOUBLE)))
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- """
- contains("BUCKETED AGGREGATE")
- }
-
- // merged PERCENTILE_UNION states of the same shard come from different
instances
- order_qt_union_merge """
- SELECT PERCENTILE_MERGE(s) FROM (
- SELECT shard, PERCENTILE_UNION(PERCENTILE_STATE(v, CAST(0.625 AS
DOUBLE))) s
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- ) q
- """
- order_qt_union_merge_group """
- SELECT shard, PERCENTILE_MERGE(s) FROM (
- SELECT shard, PERCENTILE_UNION(PERCENTILE_STATE(v, CAST(0.625 AS
DOUBLE))) s
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- ) q GROUP BY shard
- """
- // raw (unmerged) update states of the same shard come from different
instances
- order_qt_percentile_group """
- SELECT shard, PERCENTILE(v, 0.625), PERCENTILE_ARRAY(v, [0, 0.25, 0.5,
1])
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- """
-
- // controls: the same queries without bucketed hash aggregation
- sql "set enable_bucketed_hash_agg=false"
- order_qt_union_merge_no_bucketed """
- SELECT PERCENTILE_MERGE(s) FROM (
- SELECT shard, PERCENTILE_UNION(PERCENTILE_STATE(v, CAST(0.625 AS
DOUBLE))) s
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- ) q
- """
- order_qt_union_merge_group_no_bucketed """
- SELECT shard, PERCENTILE_MERGE(s) FROM (
- SELECT shard, PERCENTILE_UNION(PERCENTILE_STATE(v, CAST(0.625 AS
DOUBLE))) s
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- ) q GROUP BY shard
- """
- order_qt_percentile_group_no_bucketed """
- SELECT shard, PERCENTILE(v, 0.625), PERCENTILE_ARRAY(v, [0, 0.25, 0.5,
1])
- FROM percentile_bucketed_agg_merge_t GROUP BY shard
- """
-}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]