diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRewriteUtil.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRewriteUtil.java index 03a1aefeba1870..209fd5da0f660c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRewriteUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRewriteUtil.java @@ -62,8 +62,8 @@ public static Collection getMTMVCanRewritePartitions(MTMV mtmv, Conne return res; } // check mv is normal - if (!(mtmv.getStatus().getState() == MTMVState.NORMAL - && mtmv.getStatus().getRefreshState() == MTMVRefreshState.SUCCESS)) { + if (mtmv.getStatus().getState() != MTMVState.NORMAL + || mtmv.getStatus().getRefreshState() == MTMVRefreshState.INIT) { return res; } Map> partitionMappings = null; diff --git a/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVRewriteUtilTest.java b/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVRewriteUtilTest.java index 864478933c0f14..40797760b704da 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVRewriteUtilTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/mtmv/MTMVRewriteUtilTest.java @@ -256,7 +256,20 @@ public void testGetMTMVCanRewritePartitionsRefreshStateAbnormal() { }; Collection mtmvCanRewritePartitions = MTMVRewriteUtil .getMTMVCanRewritePartitions(mtmv, ctx, currentTimeMills); - Assert.assertEquals(0, mtmvCanRewritePartitions.size()); + Assert.assertEquals(1, mtmvCanRewritePartitions.size()); } + @Test + public void testGetMTMVCanRewritePartitionsRefreshStateInit() { + new Expectations() { + { + status.getRefreshState(); + minTimes = 0; + result = MTMVRefreshState.INIT; + } + }; + Collection mtmvCanRewritePartitions = MTMVRewriteUtil + .getMTMVCanRewritePartitions(mtmv, ctx, currentTimeMills); + Assert.assertEquals(0, mtmvCanRewritePartitions.size()); + } }