[Fix](dynamic-partition) Try to avoid setting a zero-bucket-size partition. (#20177)

A fallback to avoid BE crash problem when partition's bucket size is 0, but not resolved.
This commit is contained in:
Xiangyu Wang
2023-05-31 13:09:03 +08:00
committed by GitHub
parent 1f22aa6961
commit 6d75d56e7b

View File

@ -89,6 +89,7 @@ import org.apache.doris.catalog.PartitionInfo;
import org.apache.doris.catalog.PartitionItem;
import org.apache.doris.catalog.PartitionType;
import org.apache.doris.catalog.PrimitiveType;
import org.apache.doris.catalog.RandomDistributionInfo;
import org.apache.doris.catalog.RangePartitionItem;
import org.apache.doris.catalog.Replica;
import org.apache.doris.catalog.Replica.ReplicaState;
@ -1416,6 +1417,11 @@ public class InternalCatalog implements CatalogIf<Database> {
if (hashDistributionInfo.getBucketNum() <= 0) {
throw new DdlException("Cannot assign hash distribution buckets less than 1");
}
} else if (distributionInfo.getType() == DistributionInfoType.RANDOM) {
RandomDistributionInfo randomDistributionInfo = (RandomDistributionInfo) distributionInfo;
if (randomDistributionInfo.getBucketNum() <= 0) {
throw new DdlException("Cannot assign random distribution buckets less than 1");
}
}
} else {
// make sure partition-dristribution-info is deep copied from default-distribution-info