This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 79b41541a0a [fix](dynamic partition) fix create dynamic partition with overlap not throw exception #37924 (#37966) 79b41541a0a is described below commit 79b41541a0a6cf4eab1e8ab20e28f399bd9ec347 Author: yujun <yu.jun.re...@gmail.com> AuthorDate: Wed Jul 17 17:21:58 2024 +0800 [fix](dynamic partition) fix create dynamic partition with overlap not throw exception #37924 (#37966) cherry-pick: #37924 --- .../doris/clone/DynamicPartitionScheduler.java | 9 +++++---- .../test_dynamic_partition_failed.groovy | 23 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java b/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java index 43c9cfd02d7..896629458b1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/clone/DynamicPartitionScheduler.java @@ -277,9 +277,11 @@ public class DynamicPartitionScheduler extends MasterDaemon { // IllegalArgumentException: lb is greater than ub LOG.warn("Error in gen addPartitionKeyRange. db: {}, table: {}, partition idx: {}", db.getFullName(), olapTable.getName(), idx, e); - recordCreatePartitionFailedMsg(db.getFullName(), olapTable.getName(), - e.getMessage(), olapTable.getId()); - throw new DdlException(e.getMessage()); + if (executeFirstTime) { + throw new DdlException("maybe dynamic_partition.start is too small, error: " + + e.getMessage()); + } + continue; } for (PartitionItem partitionItem : rangePartitionInfo.getIdToItem(false).values()) { // only support single column partition now @@ -298,7 +300,6 @@ public class DynamicPartitionScheduler extends MasterDaemon { addPartitionKeyRange, db.getFullName(), olapTable.getName(), idx, e); recordCreatePartitionFailedMsg(db.getFullName(), olapTable.getName(), e.getMessage(), olapTable.getId()); - throw new DdlException(e.getMessage()); } break; } diff --git a/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_failed.groovy b/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_failed.groovy index 3447834a2af..065f44fb95f 100644 --- a/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_failed.groovy +++ b/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_failed.groovy @@ -26,6 +26,7 @@ suite('test_dynamic_partition_failed', 'nonConcurrent') { PROPERTIES ( "replication_num" = "1", + "dynamic_partition.replication_num" = "1", "dynamic_partition.enable" = "true", "dynamic_partition.end" = "3", "dynamic_partition.time_unit" = "day", @@ -46,6 +47,26 @@ suite('test_dynamic_partition_failed', 'nonConcurrent') { setFeConfig('max_dynamic_partition_num', Integer.MAX_VALUE) + sql 'DROP TABLE IF EXISTS test_dynamic_partition_failed_ok2 FORCE' + sql '''CREATE TABLE test_dynamic_partition_failed_ok2 + ( `k1` date NULL ) + PARTITION BY RANGE(k1) ( + PARTITION `phistory` VALUES less than ('2020-01-01') + ) + DISTRIBUTED BY HASH(`k1`) BUCKETS 1 + PROPERTIES + ( + "replication_num" = "1", + "dynamic_partition.replication_num" = "1", + "dynamic_partition.enable" = "true", + "dynamic_partition.end" = "3", + "dynamic_partition.time_unit" = "YEAR", + "dynamic_partition.prefix" = "p", + "dynamic_partition.buckets" = "1", + "dynamic_partition.start" = "-10", + "dynamic_partition.create_history_partition" = "true" + )''' + sql 'DROP TABLE IF EXISTS test_dynamic_partition_failed_2' test { sql '''CREATE TABLE test_dynamic_partition_failed_2 @@ -55,6 +76,7 @@ suite('test_dynamic_partition_failed', 'nonConcurrent') { PROPERTIES ( "replication_num" = "1", + "dynamic_partition.replication_num" = "1", "dynamic_partition.enable" = "true", "dynamic_partition.end" = "3", "dynamic_partition.time_unit" = "day", @@ -74,6 +96,7 @@ suite('test_dynamic_partition_failed', 'nonConcurrent') { } finally { setFeConfig('max_dynamic_partition_num', old_max_dynamic_partition_num) sql 'DROP TABLE IF EXISTS test_dynamic_partition_failed_ok1 FORCE' + sql 'DROP TABLE IF EXISTS test_dynamic_partition_failed_ok2 FORCE' sql 'DROP TABLE IF EXISTS test_dynamic_partition_failed_2' } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org