This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-4.2 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 750a9a027cf31695c94f4d82c8f1bbbd71498367 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]
