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