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 0fdf711d10..191629860e 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 @@ -365,7 +365,8 @@ public class SchemaChangeJobV2 extends AlterJobV2 { indexSchemaVersionAndHashMap.get(shadowIdxId).schemaVersion, indexSchemaVersionAndHashMap.get(shadowIdxId).schemaHash, indexShortKeyMap.get(shadowIdxId), TStorageType.COLUMN, - tbl.getKeysTypeByIndexId(indexIdMap.get(shadowIdxId)), null); + tbl.getKeysTypeByIndexId(indexIdMap.get(shadowIdxId)), + indexChange ? indexes : tbl.getIndexMetaByIndexId(indexIdMap.get(shadowIdxId)).getIndexes()); } tbl.rebuildFullSchema(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java index 5666c0e734..ea6f92616c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java @@ -228,7 +228,13 @@ public class OlapTableSink extends DataSink { column.setIndexFlag(tColumn, table); columnsDesc.add(tColumn); } - for (Index index : indexMeta.getIndexes()) { + List indexes = indexMeta.getIndexes(); + if (indexes.size() == 0 && pair.getKey() == table.getBaseIndexId()) { + // for compatible with old version befor 2.0-beta + // if indexMeta.getIndexes() is empty, use table.getIndexes() + indexes = table.getIndexes(); + } + for (Index index : indexes) { TOlapTableIndex tIndex = index.toThrift(); indexDesc.add(tIndex); }