This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new ac6cd947c72 [fix](table) Disable create, alter auto bucket table with
colocate (#44396)
ac6cd947c72 is described below
commit ac6cd947c725296113cdd4e070fcff5cced65f27
Author: deardeng <[email protected]>
AuthorDate: Sun Nov 24 19:14:40 2024 +0800
[fix](table) Disable create, alter auto bucket table with colocate (#44396)
Colorate and auto bucket are naturally mutually exclusive, so diable it
now
---
.../main/java/org/apache/doris/catalog/Env.java | 3 ++
.../apache/doris/datasource/InternalCatalog.java | 3 ++
.../suites/table_p0/test_colocate_table.groovy | 63 ++++++++++++++++++++++
3 files changed, 69 insertions(+)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index 85e041b88b5..7597a7d256b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -4868,6 +4868,9 @@ public class Env {
return;
}
}
+ if (!isReplay && table.isAutoBucket()) {
+ throw new DdlException("table " + table.getName() + " is auto
buckets");
+ }
ColocateGroupSchema groupSchema =
colocateTableIndex.getGroupSchema(fullAssignedGroupName);
if (groupSchema == null) {
// user set a new colocate group,
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
index ac5cfd59a37..3a9e96bade6 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
@@ -2938,6 +2938,9 @@ public class InternalCatalog implements
CatalogIf<Database> {
if (defaultDistributionInfo.getType() ==
DistributionInfoType.RANDOM) {
throw new AnalysisException("Random distribution for
colocate table is unsupported");
}
+ if (isAutoBucket) {
+ throw new AnalysisException("Auto buckets for colocate
table is unsupported");
+ }
String fullGroupName = GroupId.getFullGroupName(db.getId(),
colocateGroup);
ColocateGroupSchema groupSchema =
Env.getCurrentColocateIndex().getGroupSchema(fullGroupName);
if (groupSchema != null) {
diff --git a/regression-test/suites/table_p0/test_colocate_table.groovy
b/regression-test/suites/table_p0/test_colocate_table.groovy
new file mode 100644
index 00000000000..514b6fe2e8c
--- /dev/null
+++ b/regression-test/suites/table_p0/test_colocate_table.groovy
@@ -0,0 +1,63 @@
+// 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.
+
+suite('test_colocate_table') {
+ def tbl = 'test_colocate_table'
+ sql "DROP TABLE IF EXISTS ${tbl} FORCE"
+ test {
+ sql """
+ CREATE TABLE IF NOT EXISTS ${tbl}
+ (
+ k1 date,
+ k2 int
+ )
+ ENGINE=OLAP
+ UNIQUE KEY (k1,k2)
+ DISTRIBUTED BY HASH(k2) BUCKETS AUTO
+ PROPERTIES
+ (
+ "replication_num" = "1",
+ "colocate_with" = "test_colocate_table_group"
+ )
+ """
+
+ exception 'Auto buckets for colocate table is unsupported'
+ }
+
+ sql """
+ CREATE TABLE IF NOT EXISTS ${tbl}
+ (
+ k1 date,
+ k2 int
+ )
+ ENGINE=OLAP
+ UNIQUE KEY (k1,k2)
+ DISTRIBUTED BY HASH(k2) BUCKETS AUTO
+ PROPERTIES
+ (
+ "replication_num" = "1"
+ )
+ """
+
+ test {
+ sql "ALTER TABLE ${tbl} set ( 'colocate_with' =
'test_colocate_table_group') "
+
+ exception 'is auto buckets'
+ }
+
+ sql "DROP TABLE IF EXISTS ${tbl} FORCE"
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]