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 <[email protected]>
---
.../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: [email protected]
For additional commands, e-mail: [email protected]