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]