diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java index 748b6671c7..ceccc89524 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java @@ -1889,7 +1889,7 @@ public class InternalCatalog implements CatalogIf { // it does not affect the logic of deleting the partition try { Env.getCurrentEnv().getEventProcessor().processEvent( - new DropPartitionEvent(db.getCatalog().getId(), db.getId(), olapTable.getId())); + new DropPartitionEvent(db.getCatalog().getId(), db.getId(), olapTable.getId(), isTempPartition)); } catch (Throwable t) { // According to normal logic, no exceptions will be thrown, // but in order to avoid bugs affecting the original logic, all exceptions are caught diff --git a/fe/fe-core/src/main/java/org/apache/doris/event/DropPartitionEvent.java b/fe/fe-core/src/main/java/org/apache/doris/event/DropPartitionEvent.java index 598768aa8d..cea03e7ef7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/event/DropPartitionEvent.java +++ b/fe/fe-core/src/main/java/org/apache/doris/event/DropPartitionEvent.java @@ -20,7 +20,14 @@ package org.apache.doris.event; import org.apache.doris.common.AnalysisException; public class DropPartitionEvent extends TableEvent { - public DropPartitionEvent(long ctlId, long dbId, long tableId) throws AnalysisException { + private boolean isTempPartition; + + public DropPartitionEvent(long ctlId, long dbId, long tableId, boolean isTempPartition) throws AnalysisException { super(EventType.DROP_PARTITION, ctlId, dbId, tableId); + this.isTempPartition = isTempPartition; + } + + public boolean isTempPartition() { + return isTempPartition; } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVService.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVService.java index 4b740b75ef..278811d3a9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVService.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVService.java @@ -24,6 +24,7 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.MetaNotFoundException; +import org.apache.doris.event.DropPartitionEvent; import org.apache.doris.event.Event; import org.apache.doris.event.EventException; import org.apache.doris.event.EventListener; @@ -177,6 +178,9 @@ public class MTMVService implements EventListener { if (!(event instanceof TableEvent)) { return; } + if (event instanceof DropPartitionEvent && ((DropPartitionEvent) event).isTempPartition()) { + return; + } TableEvent tableEvent = (TableEvent) event; LOG.info("processEvent, Event: {}", event); TableIf table;