This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new bd14d864ef4 branch-2.1: [fix](editlog) Fix replay BatchDropInfo #45077 (#45102) bd14d864ef4 is described below commit bd14d864ef49f7d0b11a18591d14f6f5c3e74b9a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> AuthorDate: Fri Dec 6 22:36:40 2024 +0800 branch-2.1: [fix](editlog) Fix replay BatchDropInfo #45077 (#45102) Cherry-picked from #45077 Co-authored-by: walter <maoch...@selectdb.com> --- .../org/apache/doris/persist/BatchDropInfo.java | 4 ++++ .../java/org/apache/doris/persist/DropInfo.java | 2 +- .../java/org/apache/doris/persist/EditLog.java | 22 +++++++++++++++------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/BatchDropInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/BatchDropInfo.java index 260ad316d3c..8e4e9b9af8e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/BatchDropInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/BatchDropInfo.java @@ -86,6 +86,10 @@ public class BatchDropInfo implements Writable { return indexIdSet; } + public boolean hasIndexNameMap() { + return indexNameMap != null; + } + public Map<Long, String> getIndexNameMap() { return indexNameMap; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java index 69994caf23d..db0688bd6ad 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java @@ -52,7 +52,7 @@ public class DropInfo implements Writable { public DropInfo(long dbId, long tableId, String tableName, boolean isView, boolean forceDrop, long recycleTime) { - this(dbId, tableId, tableName, -1, "", isView, forceDrop, recycleTime); + this(dbId, tableId, tableName, -1L, "", isView, forceDrop, recycleTime); } public DropInfo(long dbId, long tableId, String tableName, long indexId, String indexName, boolean isView, diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java b/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java index 3ac992e6edf..ddb6557ab6b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/EditLog.java @@ -343,13 +343,21 @@ public class EditLog { } case OperationType.OP_BATCH_DROP_ROLLUP: { BatchDropInfo batchDropInfo = (BatchDropInfo) journal.getData(); - for (Map.Entry<Long, String> entry : batchDropInfo.getIndexNameMap().entrySet()) { - long indexId = entry.getKey(); - String indexName = entry.getValue(); - DropInfo info = new DropInfo(batchDropInfo.getDbId(), batchDropInfo.getTableId(), - batchDropInfo.getTableName(), indexId, indexName, false, false, 0); - env.getMaterializedViewHandler().replayDropRollup(info, env); - env.getBinlogManager().addDropRollup(info, logId); + if (batchDropInfo.hasIndexNameMap()) { + for (Map.Entry<Long, String> entry : batchDropInfo.getIndexNameMap().entrySet()) { + long indexId = entry.getKey(); + String indexName = entry.getValue(); + DropInfo info = new DropInfo(batchDropInfo.getDbId(), batchDropInfo.getTableId(), + batchDropInfo.getTableName(), indexId, indexName, false, false, 0); + env.getMaterializedViewHandler().replayDropRollup(info, env); + env.getBinlogManager().addDropRollup(info, logId); + } + } else { + for (Long indexId : batchDropInfo.getIndexIdSet()) { + DropInfo info = new DropInfo(batchDropInfo.getDbId(), batchDropInfo.getTableId(), + batchDropInfo.getTableName(), indexId, "", false, false, 0); + env.getMaterializedViewHandler().replayDropRollup(info, env); + } } break; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org