This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch branch-4.0-preview
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 34f0e0406c61369dc449ffbf77be9fbe361706b0
Author: Kang <kxiao.ti...@gmail.com>
AuthorDate: Thu Apr 11 15:13:25 2024 +0800

    [fix](index change) disable light index change for cloud mode (#33387)
---
 be/src/olap/schema_change.cpp                      | 11 ++++++++
 .../apache/doris/alter/SchemaChangeHandler.java    | 14 +++++----
 .../main/java/org/apache/doris/catalog/Index.java  |  4 +++
 .../decimalv3/test_decimal256_index.groovy         |  8 ++++--
 .../test_build_index_fault.groovy                  |  3 ++
 .../index_change/test_index_change_2.groovy        | 10 +++++--
 .../index_change/test_index_change_3.groovy        | 12 +++++---
 .../index_change/test_index_change_4.groovy        | 12 +++++---
 .../index_change/test_index_change_6.groovy        | 16 +++++++----
 .../test_index_change_on_new_column.groovy         |  6 ++--
 .../test_index_change_with_compaction.groovy       |  8 ++++--
 .../index_change/test_pk_uk_index_change.groovy    | 11 ++++++--
 .../test_add_drop_index_ignore_case_column.groovy  | 12 +++++---
 .../test_add_drop_index_with_data.groovy           | 18 ++++++++----
 .../test_add_drop_index_with_delete_data.groovy    | 12 +++++---
 .../inverted_index_p0/test_array_index.groovy      |  4 ++-
 .../inverted_index_p0/test_build_index.groovy      |  3 ++
 .../test_index_match_phrase.groovy                 | 30 +++++++++++---------
 .../test_index_match_select.groovy                 | 30 +++++++++++---------
 .../test_index_range_in_select.groovy              | 30 +++++++++++---------
 .../test_index_range_not_in_select.groovy          | 30 +++++++++++---------
 .../suites/inverted_index_p0/test_show_data.groovy | 33 ++++++++++++++--------
 22 files changed, 202 insertions(+), 115 deletions(-)

diff --git a/be/src/olap/schema_change.cpp b/be/src/olap/schema_change.cpp
index a4e81184b10..fb9137d4c84 100644
--- a/be/src/olap/schema_change.cpp
+++ b/be/src/olap/schema_change.cpp
@@ -1296,6 +1296,17 @@ Status SchemaChangeJob::parse_request(const 
SchemaChangeParams& sc_params,
         if (column_mapping->expr != nullptr) {
             *sc_directly = true;
             return Status::OK();
+        } else if (column_mapping->ref_column >= 0) {
+            const auto& column_new = new_tablet_schema->column(i);
+            const auto& column_old = 
base_tablet_schema->column(column_mapping->ref_column);
+            // index changed
+            if (column_new.is_bf_column() != column_old.is_bf_column() ||
+                column_new.has_bitmap_index() != column_old.has_bitmap_index() 
||
+                new_tablet_schema->has_inverted_index(column_new) !=
+                        base_tablet_schema->has_inverted_index(column_old)) {
+                *sc_directly = true;
+                return Status::OK();
+            }
         }
     }
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java 
b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
index cb7cb799593..30823df4714 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
@@ -28,7 +28,6 @@ import org.apache.doris.analysis.CreateIndexClause;
 import org.apache.doris.analysis.DropColumnClause;
 import org.apache.doris.analysis.DropIndexClause;
 import org.apache.doris.analysis.IndexDef;
-import org.apache.doris.analysis.IndexDef.IndexType;
 import org.apache.doris.analysis.ModifyColumnClause;
 import org.apache.doris.analysis.ModifyTablePropertiesClause;
 import org.apache.doris.analysis.ReorderColumnsClause;
@@ -1966,14 +1965,13 @@ public class SchemaChangeHandler extends AlterHandler {
                     lightSchemaChange = false;
                 } else if (alterClause instanceof CreateIndexClause) {
                     CreateIndexClause createIndexClause = (CreateIndexClause) 
alterClause;
-                    IndexDef indexDef = createIndexClause.getIndexDef();
                     Index index = createIndexClause.getIndex();
                     if (processAddIndex(createIndexClause, olapTable, 
newIndexes)) {
                         return;
                     }
                     lightSchemaChange = false;
 
-                    if (indexDef.isInvertedIndex()) {
+                    if (index.isLightIndexChangeSupported() && 
!Config.isCloudMode()) {
                         alterIndexes.add(index);
                         isDropIndex = false;
                         // now only support light index change for inverted 
index
@@ -1983,6 +1981,13 @@ public class SchemaChangeHandler extends AlterHandler {
                     BuildIndexClause buildIndexClause = (BuildIndexClause) 
alterClause;
                     IndexDef indexDef = buildIndexClause.getIndexDef();
                     Index index = buildIndexClause.getIndex();
+                    if (!index.isLightIndexChangeSupported() || 
Config.isCloudMode()) {
+                        throw new DdlException("BUILD INDEX can not be used 
since index "
+                                + indexDef.getIndexName() + " with type " + 
indexDef.getIndexType()
+                                + " does not support light index change or 
cluster cloud mode "
+                                + Config.isCloudMode() + " is true");
+                    }
+
                     if (!olapTable.isPartitionedTable()) {
                         List<String> specifiedPartitions = 
indexDef.getPartitionNames();
                         if (!specifiedPartitions.isEmpty()) {
@@ -2032,8 +2037,7 @@ public class SchemaChangeHandler extends AlterHandler {
                             break;
                         }
                     }
-                    IndexDef.IndexType indexType = found.getIndexType();
-                    if (indexType == IndexType.INVERTED) {
+                    if (found.isLightIndexChangeSupported() && 
!Config.isCloudMode()) {
                         alterIndexes.add(found);
                         isDropIndex = true;
                         lightIndexChange = true;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Index.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Index.java
index 438b30dd7eb..b05b7c34443 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Index.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Index.java
@@ -148,6 +148,10 @@ public class Index implements Writable {
         return InvertedIndexUtil.getInvertedIndexCharFilter(properties);
     }
 
+    public boolean isLightIndexChangeSupported() {
+        return indexType == IndexDef.IndexType.INVERTED;
+    }
+
     public String getComment() {
         return comment;
     }
diff --git 
a/regression-test/suites/datatype_p0/decimalv3/test_decimal256_index.groovy 
b/regression-test/suites/datatype_p0/decimalv3/test_decimal256_index.groovy
index 04564ca3629..d1163524595 100644
--- a/regression-test/suites/datatype_p0/decimalv3/test_decimal256_index.groovy
+++ b/regression-test/suites/datatype_p0/decimalv3/test_decimal256_index.groovy
@@ -139,9 +139,11 @@ suite("test_decimal256_index") {
 
     sql """CREATE INDEX k2_bitmap_index ON test_decimal256_bitmap_index(k2) 
USING BITMAP;"""
     wait_for_latest_op_on_table_finish("test_decimal256_bitmap_index", 10000);
-    sql """BUILD INDEX k2_bitmap_index ON test_decimal256_bitmap_index;"""
-    wait_for_latest_op_on_table_finish("test_decimal256_bitmap_index", 10000);
-    wait_for_build_index_on_partition_finish("test_decimal256_bitmap_index", 
10000)
+    if (!isCloudMode()) {
+        sql """BUILD INDEX k2_bitmap_index ON test_decimal256_bitmap_index;"""
+        wait_for_latest_op_on_table_finish("test_decimal256_bitmap_index", 
10000);
+        
wait_for_build_index_on_partition_finish("test_decimal256_bitmap_index", 10000)
+    }
 
     qt_sql_bitmap_index_select_all """
         select * from test_decimal256_bitmap_index order by 1,2,3;
diff --git 
a/regression-test/suites/fault_injection_p0/test_build_index_fault.groovy 
b/regression-test/suites/fault_injection_p0/test_build_index_fault.groovy
index 796a7b03443..988db48c6a7 100644
--- a/regression-test/suites/fault_injection_p0/test_build_index_fault.groovy
+++ b/regression-test/suites/fault_injection_p0/test_build_index_fault.groovy
@@ -17,6 +17,9 @@
 
 
 suite("test_build_index_fault", "inverted_index, nonConcurrent,p2"){
+    if (isCloudMode()) {
+        return // TODO enable this case after enable light index in cloud mode
+    }
     // prepare test table
     def timeout = 60000
     def delta_time = 1000
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
index 2c3cc561979..b6d26657737 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
@@ -117,7 +117,10 @@ suite("test_index_change_2") {
     sql """ DROP INDEX idx_user_id ON ${tableName} """
     wait_for_latest_op_on_table_finish(tableName, timeout)
     sql """ DROP INDEX idx_note ON ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    wait_for_latest_op_on_table_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     def show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
@@ -187,7 +190,10 @@ suite("test_index_change_2") {
     sql """ DROP INDEX idx_user_id ON ${tableName} """
     wait_for_latest_op_on_table_finish(tableName, timeout)
     sql """ DROP INDEX idx_note ON ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    wait_for_latest_op_on_table_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
index 0da4f8bee24..ade7f4d6c18 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
@@ -113,8 +113,10 @@ suite("test_index_change_3") {
     sql """ CREATE INDEX idx_city ON ${tableName}(`city`) USING INVERTED 
PROPERTIES("parser"="english") """
     wait_for_latest_op_on_table_finish(tableName, timeout)
     // build index
-    sql """ BUILD INDEX idx_city ON ${tableName} """
-    wait_for_latest_op_on_table_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX idx_city ON ${tableName} """
+        wait_for_latest_op_on_table_finish(tableName, timeout)
+    }
 
     // drop inverted index idx_user_id, idx_note
     sql """ DROP INDEX idx_city ON ${tableName} """
@@ -186,8 +188,10 @@ suite("test_index_change_3") {
     sql """ CREATE INDEX idx_city ON ${tableName}(`city`) USING INVERTED 
PROPERTIES("parser"="english") """
     wait_for_latest_op_on_table_finish(tableName, timeout)
     // build index
-    sql """ BUILD INDEX idx_city ON ${tableName} """
-    wait_for_latest_op_on_table_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX idx_city ON ${tableName} """
+        wait_for_latest_op_on_table_finish(tableName, timeout)
+    }
 
     // drop inverted index idx_user_id, idx_note
     sql """ DROP INDEX idx_city ON ${tableName} """
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
index 46d09c7db6f..7c3c955c998 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
@@ -118,8 +118,10 @@ suite("test_index_change_4") {
     sql """ CREATE INDEX idx_note ON ${tableName}(`note`) USING INVERTED 
PROPERTIES("parser"="english") """
     wait_for_latest_op_on_table_finish(tableName, timeout)
     // build index
-    sql """ BUILD INDEX idx_note ON ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX idx_note ON ${tableName} """
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     def show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
@@ -190,8 +192,10 @@ suite("test_index_change_4") {
     sql """ CREATE INDEX idx_note ON ${tableName}(`note`) USING INVERTED 
PROPERTIES("parser"="english") """
     wait_for_latest_op_on_table_finish(tableName, timeout)
     // build index
-    sql """ BUILD INDEX idx_note ON ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX idx_note ON ${tableName} """
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
index 2a4c3ae8a22..e47f2b62bb1 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
@@ -121,9 +121,11 @@ suite("test_index_change_6") {
     wait_for_latest_op_on_table_finish(tableName, timeout)
 
     // build inverted index
-    sql """ BUILD INDEX idx_user_id ON ${tableName} """
-    sql """ BUILD INDEX idx_note ON ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX idx_user_id ON ${tableName} """
+        sql """ BUILD INDEX idx_note ON ${tableName} """
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     def show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
@@ -199,9 +201,11 @@ suite("test_index_change_6") {
     wait_for_latest_op_on_table_finish(tableName, timeout)
 
     // build inverted index
-    sql """ BUILD INDEX idx_user_id ON ${tableName} """
-    sql """ BUILD INDEX idx_note ON ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX idx_user_id ON ${tableName} """
+        sql """ BUILD INDEX idx_note ON ${tableName} """
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
index b4ca879569b..02c6f1dcf71 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
@@ -85,8 +85,10 @@ suite("test_index_change_on_new_column") {
     wait_for_latest_op_on_table_finish(tableName, timeout)
 
     // build inverted index on new column
-    sql """ build index idx_s1 on ${tableName} """
-    wait_for_build_index_on_partition_finish(tableName, timeout)
+    if (!isCloudMode()) {
+        sql """ build index idx_s1 on ${tableName} """
+        wait_for_build_index_on_partition_finish(tableName, timeout)
+    }
 
     def show_result = sql "show index from ${tableName}"
     logger.info("show index from " + tableName + " result: " + show_result)
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_with_compaction.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_with_compaction.groovy
index 7dbd714294e..152ce26df98 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_with_compaction.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_with_compaction.groovy
@@ -173,9 +173,11 @@ suite("test_index_change_with_compaction") {
         }
 
         // build index
-        sql "build index idx_user_id on ${tableName}"
-        sql "build index idx_date on ${tableName}"
-        sql "build index idx_city on ${tableName}"
+        if (!isCloudMode()) {
+            sql "build index idx_user_id on ${tableName}"
+            sql "build index idx_date on ${tableName}"
+            sql "build index idx_city on ${tableName}"
+        }
 
         // wait for all compactions done
         for (def tablet in tablets) {
diff --git 
a/regression-test/suites/inverted_index_p0/index_change/test_pk_uk_index_change.groovy
 
b/regression-test/suites/inverted_index_p0/index_change/test_pk_uk_index_change.groovy
index 32bee13dc81..5fc593d0b4a 100644
--- 
a/regression-test/suites/inverted_index_p0/index_change/test_pk_uk_index_change.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_change/test_pk_uk_index_change.groovy
@@ -243,8 +243,10 @@ suite("test_pk_uk_index_change", "inverted_index") {
             wait_for_latest_op_on_table_finish(tableNamePk, timeout)
 
             // build inverted index
-            sql """ BUILD INDEX L_ORDERKEY_idx ON ${tableNamePk}; """
-            wait_for_build_index_on_partition_finish(tableNamePk, timeout)
+            if (!isCloudMode()) {
+                sql """ BUILD INDEX L_ORDERKEY_idx ON ${tableNamePk}; """
+                wait_for_build_index_on_partition_finish(tableNamePk, timeout)
+            }
         }
 
         sql "sync"
@@ -319,7 +321,10 @@ suite("test_pk_uk_index_change", "inverted_index") {
 
         // drop inverted index
         sql """ DROP INDEX L_ORDERKEY_idx ON ${tableNamePk}; """
-        wait_for_build_index_on_partition_finish(tableNamePk, timeout)
+        wait_for_latest_op_on_table_finish(tableNamePk, timeout)
+        if (!isCloudMode()) {
+            wait_for_build_index_on_partition_finish(tableNamePk, timeout)
+        }
     }
 }
 
diff --git 
a/regression-test/suites/inverted_index_p0/test_add_drop_index_ignore_case_column.groovy
 
b/regression-test/suites/inverted_index_p0/test_add_drop_index_ignore_case_column.groovy
index 42473016a62..2b97ef2c706 100644
--- 
a/regression-test/suites/inverted_index_p0/test_add_drop_index_ignore_case_column.groovy
+++ 
b/regression-test/suites/inverted_index_p0/test_add_drop_index_ignore_case_column.groovy
@@ -124,8 +124,10 @@ suite("test_add_drop_index_with_ignore_case_column", 
"inverted_index"){
     // add index on column description
     sql "create index idx_desc on ${indexTbName1}(description) USING INVERTED 
PROPERTIES(\"parser\"=\"standard\");"
     wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-    sql "build index idx_desc on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_desc on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
 
     // show index after add index
     show_result = sql "show index from ${indexTbName1}"
@@ -190,8 +192,10 @@ suite("test_add_drop_index_with_ignore_case_column", 
"inverted_index"){
     // add index on column description
     sql "create index idx_desc on ${indexTbName1}(DESCRIPTION) USING INVERTED 
PROPERTIES(\"parser\"=\"standard\");"
     wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-    sql "build index idx_desc on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_desc on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
 
     // query rows where description match 'desc'
     select_result = sql "select * from ${indexTbName1} where description match 
'desc' order by id"
diff --git 
a/regression-test/suites/inverted_index_p0/test_add_drop_index_with_data.groovy 
b/regression-test/suites/inverted_index_p0/test_add_drop_index_with_data.groovy
index 6b48a7add06..a074ac84b3a 100644
--- 
a/regression-test/suites/inverted_index_p0/test_add_drop_index_with_data.groovy
+++ 
b/regression-test/suites/inverted_index_p0/test_add_drop_index_with_data.groovy
@@ -124,8 +124,10 @@ suite("test_add_drop_index_with_data", "inverted_index"){
     // add index on column description
     sql "create index idx_desc on ${indexTbName1}(description) USING INVERTED 
PROPERTIES(\"parser\"=\"standard\");"
     wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-    sql "build index idx_desc on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_desc on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
     // show index after add index
     show_result = sql "show index from ${indexTbName1}"
     logger.info("show index from " + indexTbName1 + " result: " + show_result)
@@ -229,8 +231,10 @@ suite("test_add_drop_index_with_data", "inverted_index"){
     // add index on column description
     sql "create index idx_desc on ${indexTbName1}(description) USING INVERTED 
PROPERTIES(\"parser\"=\"standard\");"
     wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-    sql "build index idx_desc on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_desc on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
     // query rows where description match 'desc'
     select_result = sql "select * from ${indexTbName1} where description match 
'desc' order by id"
     assertEquals(select_result.size(), 2)
@@ -265,8 +269,10 @@ suite("test_add_drop_index_with_data", "inverted_index"){
     show_result = sql "show index from ${indexTbName1}"
     logger.info("show index from " + indexTbName1 + " result: " + show_result)
     assertEquals(show_result.size(), 3)
-    sql "build index idx_name on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_name on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
 
     // query rows where name match 'name1'
     select_result = sql "select * from ${indexTbName1} where name match 
'name1'"
diff --git 
a/regression-test/suites/inverted_index_p0/test_add_drop_index_with_delete_data.groovy
 
b/regression-test/suites/inverted_index_p0/test_add_drop_index_with_delete_data.groovy
index 7f614cf71a4..e94256ced90 100644
--- 
a/regression-test/suites/inverted_index_p0/test_add_drop_index_with_delete_data.groovy
+++ 
b/regression-test/suites/inverted_index_p0/test_add_drop_index_with_delete_data.groovy
@@ -131,8 +131,10 @@ suite("test_add_drop_index_with_delete_data", 
"inverted_index"){
     // add index on column description
     sql "create index idx_desc on ${indexTbName1}(description) USING INVERTED 
PROPERTIES(\"parser\"=\"standard\");"
     wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-    sql "build index idx_desc on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_desc on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
 
     // show index after add index
     show_result = sql "show index from ${indexTbName1}"
@@ -237,8 +239,10 @@ suite("test_add_drop_index_with_delete_data", 
"inverted_index"){
     // add index on column description
     sql "create index idx_desc on ${indexTbName1}(description) USING INVERTED 
PROPERTIES(\"parser\"=\"standard\");"
     wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-    sql "build index idx_desc on ${indexTbName1}"
-    wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    if (!isCloudMode()) {
+        sql "build index idx_desc on ${indexTbName1}"
+        wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+    }
 
     // show index after add index
     show_result = sql "show index from ${indexTbName1}"
diff --git a/regression-test/suites/inverted_index_p0/test_array_index.groovy 
b/regression-test/suites/inverted_index_p0/test_array_index.groovy
index b2009f7b622..376aab51981 100644
--- a/regression-test/suites/inverted_index_p0/test_array_index.groovy
+++ b/regression-test/suites/inverted_index_p0/test_array_index.groovy
@@ -82,7 +82,9 @@ suite("test_array_index1"){
     sql """ ALTER TABLE ${indexTblName} ADD INDEX 
index_inverted_inventors(inventors) USING INVERTED  COMMENT ''; """
     wait_for_latest_op_on_table_finish(indexTblName, timeout)
 
-    sql """ BUILD INDEX index_inverted_inventors ON ${indexTblName}; """
+    if (!isCloudMode()) {
+        sql """ BUILD INDEX index_inverted_inventors ON ${indexTblName}; """
+    }
 }
 
 suite("test_array_index2"){
diff --git a/regression-test/suites/inverted_index_p0/test_build_index.groovy 
b/regression-test/suites/inverted_index_p0/test_build_index.groovy
index 63de0db38b4..3b15c07260e 100644
--- a/regression-test/suites/inverted_index_p0/test_build_index.groovy
+++ b/regression-test/suites/inverted_index_p0/test_build_index.groovy
@@ -17,6 +17,9 @@
 
 
 suite("test_build_index", "inverted_index"){
+    if (isCloudMode()) {
+        return // TODO enable this case after enable light index in cloud mode
+    }
     // prepare test table
     def timeout = 300000
     def delta_time = 1000
diff --git 
a/regression-test/suites/inverted_index_p0/test_index_match_phrase.groovy 
b/regression-test/suites/inverted_index_p0/test_index_match_phrase.groovy
index d15ab10f9c1..3cb93061bbb 100644
--- a/regression-test/suites/inverted_index_p0/test_index_match_phrase.groovy
+++ b/regression-test/suites/inverted_index_p0/test_index_match_phrase.groovy
@@ -138,20 +138,22 @@ suite("test_index_match_phrase_select", 
"inverted_index_select"){
                     add index ${text_colume1}_idx(`${text_colume1}`) USING 
INVERTED PROPERTIES("parser"="standard", "support_phrase" = "true") COMMENT 
'${text_colume1} index';
             """
             wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume2}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume3}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${int_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${string_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${char_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${text_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+            if (!isCloudMode()) {
+                sql """ build index ${varchar_colume1}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${varchar_colume2}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${varchar_colume3}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${int_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${string_colume1}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${char_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${text_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+            }
         }
 
         // case1: test match_phrase ""
diff --git 
a/regression-test/suites/inverted_index_p0/test_index_match_select.groovy 
b/regression-test/suites/inverted_index_p0/test_index_match_select.groovy
index 21e17a1be7e..42792bece60 100644
--- a/regression-test/suites/inverted_index_p0/test_index_match_select.groovy
+++ b/regression-test/suites/inverted_index_p0/test_index_match_select.groovy
@@ -137,20 +137,22 @@ suite("test_index_match_select", "inverted_index_select"){
                     add index ${text_colume1}_idx(`${text_colume1}`) USING 
INVERTED PROPERTIES("parser"="standard") COMMENT '${text_colume1} index';
             """
             wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume2}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume3}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${int_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${string_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${char_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${text_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+            if (!isCloudMode()) {
+                sql """ build index ${varchar_colume1}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${varchar_colume2}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${varchar_colume3}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${int_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${string_colume1}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${char_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${text_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+            }
         }
 
         // case1: match term
diff --git 
a/regression-test/suites/inverted_index_p0/test_index_range_in_select.groovy 
b/regression-test/suites/inverted_index_p0/test_index_range_in_select.groovy
index 637ce50eea5..8b5fb4cd392 100644
--- a/regression-test/suites/inverted_index_p0/test_index_range_in_select.groovy
+++ b/regression-test/suites/inverted_index_p0/test_index_range_in_select.groovy
@@ -136,20 +136,22 @@ suite("test_index_range_in_select", 
"inverted_index_select"){
                     add index ${text_colume1}_idx(`${text_colume1}`) USING 
INVERTED PROPERTIES("parser"="standard") COMMENT '${text_colume1} index';
             """
             wait_for_latest_op_on_table_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume2}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${varchar_colume3}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${int_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${string_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${char_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
-            sql """ build index ${text_colume1}_idx on ${indexTbName1} """
-            wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+            if (!isCloudMode()) {
+                sql """ build index ${varchar_colume1}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${varchar_colume2}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${varchar_colume3}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${int_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${string_colume1}_idx on ${indexTbName1} 
"""
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${char_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+                sql """ build index ${text_colume1}_idx on ${indexTbName1} """
+                wait_for_build_index_on_partition_finish(indexTbName1, timeout)
+            }
         }
 
         // case1: select in
diff --git 
a/regression-test/suites/inverted_index_p0/test_index_range_not_in_select.groovy
 
b/regression-test/suites/inverted_index_p0/test_index_range_not_in_select.groovy
index 5cb79845a42..7e846733158 100644
--- 
a/regression-test/suites/inverted_index_p0/test_index_range_not_in_select.groovy
+++ 
b/regression-test/suites/inverted_index_p0/test_index_range_not_in_select.groovy
@@ -142,20 +142,22 @@ suite("test_index_range_not_in_select", 
"inverted_index_select"){
                         add index ${text_colume1}_idx(`${text_colume1}`) USING 
INVERTED PROPERTIES("parser"="standard") COMMENT '${text_colume1} index';
                 """
                 wait_for_latest_op_on_table_finish(Tb_name, timeout)
-                sql """ build index ${varchar_colume1}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
-                sql """ build index ${varchar_colume2}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
-                sql """ build index ${varchar_colume3}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
-                sql """ build index ${int_colume1}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
-                sql """ build index ${string_colume1}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
-                sql """ build index ${char_colume1}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
-                sql """ build index ${text_colume1}_idx on ${Tb_name} """
-                wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                if (!isCloudMode()) {
+                    sql """ build index ${varchar_colume1}_idx on ${Tb_name} 
"""
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                    sql """ build index ${varchar_colume2}_idx on ${Tb_name} 
"""
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                    sql """ build index ${varchar_colume3}_idx on ${Tb_name} 
"""
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                    sql """ build index ${int_colume1}_idx on ${Tb_name} """
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                    sql """ build index ${string_colume1}_idx on ${Tb_name} """
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                    sql """ build index ${char_colume1}_idx on ${Tb_name} """
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                    sql """ build index ${text_colume1}_idx on ${Tb_name} """
+                    wait_for_build_index_on_partition_finish(Tb_name, timeout)
+                }
             }
 
             // case1: select in
diff --git a/regression-test/suites/inverted_index_p0/test_show_data.groovy 
b/regression-test/suites/inverted_index_p0/test_show_data.groovy
index 838d0ec4cd0..c75812f21ab 100644
--- a/regression-test/suites/inverted_index_p0/test_show_data.groovy
+++ b/regression-test/suites/inverted_index_p0/test_show_data.groovy
@@ -168,9 +168,12 @@ suite("test_show_data", "p0") {
         sql """ ALTER TABLE ${testTableWithoutIndex} ADD INDEX idx_request 
(`request`) USING INVERTED PROPERTIES("parser" = "english") """
         wait_for_latest_op_on_table_finish(testTableWithoutIndex, timeout)
 
-        sql """ BUILD INDEX idx_request ON ${testTableWithoutIndex} """
-        def state = 
wait_for_last_build_index_on_table_finish(testTableWithoutIndex, timeout)
-        assertEquals(state, "FINISHED")
+        def state = ""
+        if (!isCloudMode()) {
+            sql """ BUILD INDEX idx_request ON ${testTableWithoutIndex} """
+            state = 
wait_for_last_build_index_on_table_finish(testTableWithoutIndex, timeout)
+            assertEquals(state, "FINISHED")
+        }
         def with_index_size = wait_for_show_data_finish(testTableWithoutIndex, 
300000, no_index_size)
         assertTrue(with_index_size != "wait_timeout")
 
@@ -342,9 +345,11 @@ suite("test_show_data_for_bkd", "p0") {
         wait_for_latest_op_on_table_finish(testTableWithoutBKDIndex, timeout)
 
         // BUILD INDEX and expect state is RUNNING
-        sql """ BUILD INDEX idx_status ON ${testTableWithoutBKDIndex} """
-        def state = 
wait_for_last_build_index_on_table_finish(testTableWithoutBKDIndex, timeout)
-        assertEquals(state, "FINISHED")
+        if (!isCloudMode()) {
+            sql """ BUILD INDEX idx_status ON ${testTableWithoutBKDIndex} """
+            def state = 
wait_for_last_build_index_on_table_finish(testTableWithoutBKDIndex, timeout)
+            assertEquals(state, "FINISHED")
+        }
         def with_index_size = 
wait_for_show_data_finish(testTableWithoutBKDIndex, 300000, no_index_size)
         assertTrue(with_index_size != "wait_timeout")
 
@@ -517,9 +522,11 @@ suite("test_show_data_multi_add", "p0") {
         wait_for_latest_op_on_table_finish(testTableWithoutIndex, timeout)
 
         // BUILD INDEX and expect state is RUNNING
-        sql """ BUILD INDEX idx_status ON ${testTableWithoutIndex} """
-        def state = 
wait_for_last_build_index_on_table_finish(testTableWithoutIndex, timeout)
-        assertEquals(state, "FINISHED")
+        if (!isCloudMode()) {
+            sql """ BUILD INDEX idx_status ON ${testTableWithoutIndex} """
+            def state = 
wait_for_last_build_index_on_table_finish(testTableWithoutIndex, timeout)
+            assertEquals(state, "FINISHED")
+        }
         def with_index_size1 = 
wait_for_show_data_finish(testTableWithoutIndex, 300000, no_index_size)
         assertTrue(with_index_size1 != "wait_timeout")
 
@@ -527,9 +534,11 @@ suite("test_show_data_multi_add", "p0") {
         wait_for_latest_op_on_table_finish(testTableWithoutIndex, timeout)
 
         // BUILD INDEX and expect state is RUNNING
-        sql """ BUILD INDEX request_idx ON ${testTableWithoutIndex} """
-        def state2 = 
wait_for_last_build_index_on_table_finish(testTableWithoutIndex, timeout)
-        assertEquals(state2, "FINISHED")
+        if (!isCloudMode()) {
+            sql """ BUILD INDEX request_idx ON ${testTableWithoutIndex} """
+            def state2 = 
wait_for_last_build_index_on_table_finish(testTableWithoutIndex, timeout)
+            assertEquals(state2, "FINISHED")
+        }
         def with_index_size2 = 
wait_for_show_data_finish(testTableWithoutIndex, 300000, with_index_size1)
         assertTrue(with_index_size2 != "wait_timeout")
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org


Reply via email to