diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index d01a8ac09f5a33..02ff61ed5c6c13 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -2833,12 +2833,12 @@ public class Config extends ConfigBase { public static int arrow_flight_max_connections = 4096; @ConfField(mutable = true, masterOnly = true, description = { - "Auto Buckets中按照partition size去估算bucket数,存算一体partition size 1G估算一个bucket," - + "但存算分离下partition size 10G估算一个bucket。 若配置小于0,会在在代码中会自适应存算一体模式默认1G,在存算分离默认10G", + "Auto Buckets中按照partition size去估算bucket数,存算一体partition size 5G估算一个bucket," + + "但存算分离下partition size 10G估算一个bucket。 若配置小于0,会在在代码中会自适应存算一体模式默认5G,在存算分离默认10G", "In Auto Buckets, the number of buckets is estimated based on the partition size. " - + "For storage and computing integration, a partition size of 1G is estimated as one bucket." + + "For storage and computing integration, a partition size of 5G is estimated as one bucket." + " but for cloud, a partition size of 10G is estimated as one bucket. " - + "If the configuration is less than 0, the code will have an adaptive non-cloud mode with a default of 1G," + + "If the configuration is less than 0, the code will have an adaptive non-cloud mode with a default of 5G," + " and in cloud mode with a default of 10G." }) public static int autobucket_partition_size_per_bucket_gb = -1; diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/AutoBucketUtils.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/AutoBucketUtils.java index df74762b0877da..c6b8e69feaefc1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/AutoBucketUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/AutoBucketUtils.java @@ -92,16 +92,17 @@ private static int convertPartitionSizeToBucketsNum(long partitionSize) { } else if (partitionSize <= SIZE_1GB) { return 2; } else { - if (Config.autobucket_partition_size_per_bucket_gb <= 0) { + int partitionSizePerBucket = Config.autobucket_partition_size_per_bucket_gb; + if (partitionSizePerBucket <= 0) { if (Config.isCloudMode()) { - Config.autobucket_partition_size_per_bucket_gb = 10; + partitionSizePerBucket = 10; } else { - Config.autobucket_partition_size_per_bucket_gb = 1; + partitionSizePerBucket = 5; } logger.debug("autobucket_partition_size_per_bucket_gb <= 0, use adaptive {}", - Config.autobucket_partition_size_per_bucket_gb); + partitionSizePerBucket); } - return (int) ((partitionSize - 1) / (Config.autobucket_partition_size_per_bucket_gb * SIZE_1GB) + 1); + return (int) ((partitionSize - 1) / (partitionSizePerBucket * SIZE_1GB) + 1); } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/DynamicPartitionTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/DynamicPartitionTableTest.java index 4217342133b9ab..9495c048f4b13f 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/DynamicPartitionTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/DynamicPartitionTableTest.java @@ -1824,7 +1824,7 @@ public void testAutoBuckets() throws Exception { partitions = Lists.newArrayList(table.getAllPartitions()); partitions.sort(Comparator.comparing(Partition::getId)); Assert.assertEquals(54, partitions.size()); - // 100GB total, 1GB per bucket, should 100 buckets. - Assert.assertEquals(100, partitions.get(partitions.size() - 1).getDistributionInfo().getBucketNum()); + // 100GB total, 5GB per bucket, should 20 buckets. + Assert.assertEquals(20, partitions.get(partitions.size() - 1).getDistributionInfo().getBucketNum()); } }