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

morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new f7608f72f56 branch-3.1: [test](inverted index) fix unstable FE UT of 
IndexChangeJobTest #53395 (#54618)
f7608f72f56 is described below

commit f7608f72f56cdb8968b718c6e52259e48b70b82e
Author: Jack <[email protected]>
AuthorDate: Wed Aug 13 11:23:08 2025 +0800

    branch-3.1: [test](inverted index) fix unstable FE UT of IndexChangeJobTest 
#53395 (#54618)
    
    cherry pick from #53395
---
 .../apache/doris/alter/SchemaChangeHandler.java    |  16 +-
 .../org/apache/doris/alter/SchemaChangeJobV2.java  |   8 +-
 .../org/apache/doris/alter/IndexChangeJobTest.java | 198 ++++++++++++++-------
 3 files changed, 152 insertions(+), 70 deletions(-)

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 1bd490c9009..eed7550759b 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
@@ -3018,10 +3018,10 @@ public class SchemaChangeHandler extends AlterHandler {
                 }
                 if (!FeConstants.runningUnitTest) {
                     
Env.getCurrentEnv().getEditLog().logModifyTableAddOrDropInvertedIndices(info);
+                    // Drop table column stats after light schema change 
finished.
+                    
Env.getCurrentEnv().getAnalysisManager().removeTableStats(olapTable.getId());
+                    
Env.getCurrentEnv().getAnalysisManager().dropStats(olapTable, null);
                 }
-                // Drop table column stats after light schema change finished.
-                
Env.getCurrentEnv().getAnalysisManager().removeTableStats(olapTable.getId());
-                Env.getCurrentEnv().getAnalysisManager().dropStats(olapTable, 
null);
 
                 if (isDropIndex) {
                     // send drop rpc to be
@@ -3049,10 +3049,12 @@ public class SchemaChangeHandler extends AlterHandler {
                 if (LOG.isDebugEnabled()) {
                     LOG.debug("logModifyTableAddOrDropColumns info:{}", info);
                 }
-                
Env.getCurrentEnv().getEditLog().logModifyTableAddOrDropColumns(info);
-                // Drop table column stats after light schema change finished.
-                
Env.getCurrentEnv().getAnalysisManager().removeTableStats(olapTable.getId());
-                Env.getCurrentEnv().getAnalysisManager().dropStats(olapTable, 
null);
+                if (!FeConstants.runningUnitTest) {
+                    
Env.getCurrentEnv().getEditLog().logModifyTableAddOrDropColumns(info);
+                    // Drop table column stats after light schema change 
finished.
+                    
Env.getCurrentEnv().getAnalysisManager().removeTableStats(olapTable.getId());
+                    
Env.getCurrentEnv().getAnalysisManager().dropStats(olapTable, null);
+                }
             }
             LOG.info("finished modify table's add or drop or modify columns. 
table: {}, job: {}, is replay: {}",
                     olapTable.getName(), jobId, isReplay);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java 
b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java
index 983e4b370ae..3061caa9342 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java
@@ -704,9 +704,11 @@ public class SchemaChangeJobV2 extends AlterJobV2 {
         }
         postProcessOriginIndex();
         // Drop table column stats after schema change finished.
-        AnalysisManager manager = Env.getCurrentEnv().getAnalysisManager();
-        manager.removeTableStats(tbl.getId());
-        manager.dropStats(tbl, null);
+        if (!FeConstants.runningUnitTest) {
+            AnalysisManager manager = Env.getCurrentEnv().getAnalysisManager();
+            manager.removeTableStats(tbl.getId());
+            manager.dropStats(tbl, null);
+        }
     }
 
     private void onFinished(OlapTable tbl) {
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/alter/IndexChangeJobTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/alter/IndexChangeJobTest.java
index 29aed7e050d..b2e58b43be8 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/alter/IndexChangeJobTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/alter/IndexChangeJobTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.doris.alter;
 
-import org.apache.doris.analysis.AccessTestUtil;
 import org.apache.doris.analysis.AlterClause;
 import org.apache.doris.analysis.Analyzer;
 import org.apache.doris.analysis.BuildIndexClause;
@@ -39,13 +38,11 @@ import org.apache.doris.catalog.OlapTable.OlapTableState;
 import org.apache.doris.catalog.Partition;
 import org.apache.doris.catalog.Partition.PartitionState;
 import org.apache.doris.catalog.Replica;
-import org.apache.doris.catalog.TableProperty;
 import org.apache.doris.catalog.Tablet;
 import org.apache.doris.common.DdlException;
 import org.apache.doris.common.FeConstants;
 import org.apache.doris.common.FeMetaVersion;
 import org.apache.doris.common.UserException;
-import org.apache.doris.common.util.PropertyAnalyzer;
 import org.apache.doris.qe.ConnectContext;
 import org.apache.doris.task.AgentTask;
 import org.apache.doris.task.AgentTaskQueue;
@@ -82,15 +79,8 @@ public class IndexChangeJobTest {
     private static Env slaveEnv;
 
     private static Analyzer analyzer;
-    private static Database db;
-    private static OlapTable olapTable;
-    private static CreateIndexClause createIndexClause;
-    private static BuildIndexClause buildIndexClause;
-    private static DropIndexClause dropIndexClause;
-    private static CancelAlterTableStmt cancelAlterTableStmt;
-    private static TableName tableName;
-    private static String indexName;
     private static ConnectContext ctx;
+    private static CancelAlterTableStmt cancelAlterTableStmt;
 
     @Rule
     public ExpectedException expectedEx = ExpectedException.none();
@@ -99,7 +89,6 @@ public class IndexChangeJobTest {
     public void setUp()
             throws InstantiationException, IllegalAccessException, 
IllegalArgumentException, InvocationTargetException,
             NoSuchMethodException, SecurityException, UserException {
-        FeConstants.runningUnitTest = true;
         FakeEnv.setMetaVersion(FeMetaVersion.VERSION_CURRENT);
         fakeEditLog = new FakeEditLog();
         fakeEnv = new FakeEnv();
@@ -110,17 +99,7 @@ public class IndexChangeJobTest {
         masterTransMgr.setEditLog(masterEnv.getEditLog());
         slaveTransMgr = (GlobalTransactionMgr) 
slaveEnv.getGlobalTransactionMgr();
         slaveTransMgr.setEditLog(slaveEnv.getEditLog());
-        analyzer = AccessTestUtil.fetchAdminAnalyzer(false);
-        db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
-        olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
-
-        new MockUp<Env>() {
-            @Mock
-            public Env getCurrentEnv() {
-                return masterEnv;
-            }
-        };
-
+        //analyzer = AccessTestUtil.fetchAdminAnalyzer(false);
         // Initialize ConnectContext
         ctx = new ConnectContext();
         new MockUp<ConnectContext>() {
@@ -129,30 +108,7 @@ public class IndexChangeJobTest {
                 return ctx;
             }
         };
-
-        // set mow table property
-        Map<String, String> properties = Maps.newHashMap();
-        properties.put(PropertyAnalyzer.ENABLE_UNIQUE_KEY_MERGE_ON_WRITE, 
"false");
-        TableProperty tableProperty = new TableProperty(properties);
-        olapTable.setTableProperty(tableProperty);
-
-        tableName = new TableName(masterEnv.getInternalCatalog().getName(), 
db.getName(),
-                olapTable.getName());
-        indexName = "index1";
-        IndexDef indexDef = new IndexDef(indexName, false,
-                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
-                IndexDef.IndexType.INVERTED,
-                Maps.newHashMap(), "balabala");
-        FakeEnv.setEnv(masterEnv);
-        createIndexClause = new CreateIndexClause(tableName, indexDef, false);
-        createIndexClause.analyze(analyzer);
-
-        dropIndexClause = new DropIndexClause(indexName, false, tableName, 
false);
-        dropIndexClause.analyze(analyzer);
-
-        cancelAlterTableStmt = new 
CancelAlterTableStmt(ShowAlterStmt.AlterType.INDEX, tableName);
-        cancelAlterTableStmt.analyze(analyzer);
-
+        FeConstants.runningUnitTest = true;
         AgentTaskQueue.clearAllTasks();
     }
 
@@ -163,6 +119,17 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Map<Long, IndexChangeJob> indexChangeJobMap = 
schemaChangeHandler.getIndexChangeJobs();
@@ -179,12 +146,23 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
-        buildIndexClause = new BuildIndexClause(tableName, indexName, null, 
false);
+        BuildIndexClause buildIndexClause = new BuildIndexClause(tableName, 
indexName, null, false);
         buildIndexClause.analyze(analyzer);
         alterClauses.add(buildIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
@@ -200,11 +178,24 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
+        DropIndexClause dropIndexClause = new DropIndexClause(indexName, 
false, tableName, false);
+        dropIndexClause.analyze(analyzer);
         alterClauses.add(dropIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Map<Long, IndexChangeJob> indexChangeJobMap = 
schemaChangeHandler.getIndexChangeJobs();
@@ -221,12 +212,23 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
-        buildIndexClause = new BuildIndexClause(tableName, indexName, null, 
false);
+        BuildIndexClause buildIndexClause = new BuildIndexClause(tableName, 
indexName, null, false);
         buildIndexClause.analyze(analyzer);
         alterClauses.add(buildIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
@@ -268,11 +270,24 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
+        DropIndexClause dropIndexClause = new DropIndexClause(indexName, 
false, tableName, false);
+        dropIndexClause.analyze(analyzer);
         alterClauses.add(dropIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Map<Long, IndexChangeJob> indexChangeJobMap = 
schemaChangeHandler.getIndexChangeJobs();
@@ -312,12 +327,23 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
-        buildIndexClause = new BuildIndexClause(tableName, indexName, null, 
false);
+        BuildIndexClause buildIndexClause = new BuildIndexClause(tableName, 
indexName, null, false);
         buildIndexClause.analyze(analyzer);
         alterClauses.add(buildIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
@@ -341,6 +367,8 @@ public class IndexChangeJobTest {
         Assert.assertEquals(IndexChangeJob.JobState.RUNNING, 
indexChangejob.getJobState());
 
         // cancel build index job
+        cancelAlterTableStmt = new 
CancelAlterTableStmt(ShowAlterStmt.AlterType.INDEX, tableName);
+        cancelAlterTableStmt.analyze(analyzer);
         schemaChangeHandler.cancel(cancelAlterTableStmt);
 
         List<AgentTask> tasks = 
AgentTaskQueue.getTask(TTaskType.ALTER_INVERTED_INDEX);
@@ -355,6 +383,17 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         olapTable.setState(OlapTableState.SCHEMA_CHANGE);
         expectedEx.expect(DdlException.class);
@@ -366,7 +405,7 @@ public class IndexChangeJobTest {
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
-        buildIndexClause = new BuildIndexClause(tableName, indexName, null, 
false);
+        BuildIndexClause buildIndexClause = new BuildIndexClause(tableName, 
indexName, null, false);
         buildIndexClause.analyze(analyzer);
         alterClauses.add(buildIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
@@ -424,6 +463,17 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         olapTable.setState(OlapTableState.SCHEMA_CHANGE);
         expectedEx.expect(DdlException.class);
@@ -435,6 +485,8 @@ public class IndexChangeJobTest {
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
+        DropIndexClause dropIndexClause = new DropIndexClause(indexName, 
false, tableName, false);
+        dropIndexClause.analyze(analyzer);
         alterClauses.add(dropIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Map<Long, IndexChangeJob> indexChangeJobMap = 
schemaChangeHandler.getIndexChangeJobs();
@@ -491,12 +543,23 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
-        buildIndexClause = new BuildIndexClause(tableName, indexName, null, 
false);
+        BuildIndexClause buildIndexClause = new BuildIndexClause(tableName, 
indexName, null, false);
         buildIndexClause.analyze(analyzer);
         alterClauses.add(buildIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
@@ -545,12 +608,23 @@ public class IndexChangeJobTest {
         FakeEnv.setEnv(masterEnv);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
+        Database db = 
masterEnv.getInternalCatalog().getDbOrDdlException(CatalogTestUtil.testDbId1);
+        OlapTable olapTable = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId1);
+        String indexName = "index1";
+        TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
+                olapTable.getName());
+        IndexDef indexDef = new IndexDef(indexName, false,
+                Lists.newArrayList(olapTable.getBaseSchema().get(1).getName()),
+                IndexDef.IndexType.INVERTED,
+                Maps.newHashMap(), "balabala");
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
+        createIndexClause.analyze(analyzer);
         alterClauses.add(createIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
         Assert.assertEquals(olapTable.getIndexes().size(), 1);
         Assert.assertEquals(olapTable.getIndexes().get(0).getIndexName(), 
"index1");
         alterClauses.clear();
-        buildIndexClause = new BuildIndexClause(tableName, indexName, null, 
false);
+        BuildIndexClause buildIndexClause = new BuildIndexClause(tableName, 
indexName, null, false);
         buildIndexClause.analyze(analyzer);
         alterClauses.add(buildIndexClause);
         schemaChangeHandler.process(alterClauses, db, olapTable);
@@ -597,16 +671,18 @@ public class IndexChangeJobTest {
         fakeEnv = new FakeEnv();
         fakeEditLog = new FakeEditLog();
         FakeEnv.setEnv(masterEnv);
-
+        Database db = new Database(CatalogTestUtil.testDbId1, 
CatalogTestUtil.testDb1);
+        masterEnv.unprotectCreateDb(db);
+        CatalogTestUtil.createDupTable(db);
         OlapTable table = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId2);
         String indexName = "ngram_bf_index";
         IndexDef indexDef = new IndexDef(indexName, false,
                 Lists.newArrayList(table.getBaseSchema().get(3).getName()),
-                org.apache.doris.analysis.IndexDef.IndexType.NGRAM_BF,
+                IndexDef.IndexType.NGRAM_BF,
                 Maps.newHashMap(), "ngram bf index");
         TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
                 table.getName());
-        createIndexClause = new CreateIndexClause(tableName, indexDef, false);
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
         createIndexClause.analyze(analyzer);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();
@@ -637,7 +713,7 @@ public class IndexChangeJobTest {
         String indexName2 = "ngram_bf_index2";
         IndexDef indexDef2 = new IndexDef(indexName2, false,
                 Lists.newArrayList(table.getBaseSchema().get(3).getName()),
-                org.apache.doris.analysis.IndexDef.IndexType.NGRAM_BF,
+                IndexDef.IndexType.NGRAM_BF,
                 Maps.newHashMap(), "ngram bf index2");
 
         createIndexClause = new CreateIndexClause(tableName, indexDef2, false);
@@ -683,16 +759,18 @@ public class IndexChangeJobTest {
         fakeEnv = new FakeEnv();
         fakeEditLog = new FakeEditLog();
         FakeEnv.setEnv(masterEnv);
-
+        Database db = new Database(CatalogTestUtil.testDbId1, 
CatalogTestUtil.testDb1);
+        masterEnv.unprotectCreateDb(db);
+        CatalogTestUtil.createDupTable(db);
         OlapTable table = (OlapTable) 
db.getTableOrDdlException(CatalogTestUtil.testTableId2);
         String indexName = "ngram_bf_index";
         IndexDef indexDef = new IndexDef(indexName, false,
                 Lists.newArrayList(table.getBaseSchema().get(3).getName()),
-                org.apache.doris.analysis.IndexDef.IndexType.NGRAM_BF,
+                IndexDef.IndexType.NGRAM_BF,
                 Maps.newHashMap(), "ngram bf index");
         TableName tableName = new 
TableName(masterEnv.getInternalCatalog().getName(), db.getName(),
                 table.getName());
-        createIndexClause = new CreateIndexClause(tableName, indexDef, false);
+        CreateIndexClause createIndexClause = new CreateIndexClause(tableName, 
indexDef, false);
         createIndexClause.analyze(analyzer);
         SchemaChangeHandler schemaChangeHandler = 
Env.getCurrentEnv().getSchemaChangeHandler();
         ArrayList<AlterClause> alterClauses = new ArrayList<>();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to