Skip to content

[BugFix] Fix partition_retention_condition for iceberg with partition transforms #116884

[BugFix] Fix partition_retention_condition for iceberg with partition transforms

[BugFix] Fix partition_retention_condition for iceberg with partition transforms #116884

GitHub Actions / FE UT Report failed Dec 16, 2024 in 0s

10651 tests run, 10590 passed, 56 skipped, 5 failed.

Annotations

Check failure on line 530 in fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java

See this annotation in the file changed.

@github-actions github-actions / FE UT Report

PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition2

Refresh materialized view iceberg_day_mv1 failed after retrying 3 times(try-lock 0 times), error-msg : com.starrocks.sql.common.DmlException: Find the corresponding mv partition names of ref base table t0_multi_day failed, mv iceberg_day_mv1:, ref partitions: [p1_a_20220101000000, p2_a_20220102000000]
	at com.starrocks.scheduler.mv.MVPCTRefreshPartitioner.getMvPartitionNamesToRefresh(MVPCTRefreshPartitioner.java:197)
	at com.starrocks.scheduler.mv.MVPCTRefreshListPartitioner.getMVPartitionsToRefresh(MVPCTRefreshListPartitioner.java:292)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:1016)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:975)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.checkMvToRefreshedPartitions(PartitionBasedMvRefreshProcessor.java:298)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedView(PartitionBasedMvRefreshProcessor.java:451)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:377)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:336)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:205)
	at com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:270)
	at com.starrocks.scheduler.MVRefreshTestBase.initAndExecuteTaskRun(MVRefreshTestBase.java:195)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.triggerRefreshMv(PartitionBasedMvRefreshProcessorIcebergTest.java:80)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition2(PartitionBasedMvRefreshProcessorIcebergTest.java:530)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at mockit.integration.junit4.JUnit4TestRunnerDecorator.executeTestMethod(JUnit4TestRunnerDecorator.java:157)
	at mockit.integration.junit4.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:71)
	at mockit.integration.junit4.FakeFrameworkMethod.invokeExplosively(FakeFrameworkMethod.java:29)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
	at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
	at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:120)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Raw output
com.starrocks.sql.common.DmlException: 
Refresh materialized view iceberg_day_mv1 failed after retrying 3 times(try-lock 0 times), error-msg : com.starrocks.sql.common.DmlException: Find the corresponding mv partition names of ref base table t0_multi_day failed, mv iceberg_day_mv1:, ref partitions: [p1_a_20220101000000, p2_a_20220102000000]
	at com.starrocks.scheduler.mv.MVPCTRefreshPartitioner.getMvPartitionNamesToRefresh(MVPCTRefreshPartitioner.java:197)
	at com.starrocks.scheduler.mv.MVPCTRefreshListPartitioner.getMVPartitionsToRefresh(MVPCTRefreshListPartitioner.java:292)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:1016)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:975)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.checkMvToRefreshedPartitions(PartitionBasedMvRefreshProcessor.java:298)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedView(PartitionBasedMvRefreshProcessor.java:451)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:377)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:336)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:205)
	at com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:270)
	at com.starrocks.scheduler.MVRefreshTestBase.initAndExecuteTaskRun(MVRefreshTestBase.java:195)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.triggerRefreshMv(PartitionBasedMvRefreshProcessorIcebergTest.java:80)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition2(PartitionBasedMvRefreshProcessorIcebergTest.java:530)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at mockit.integration.junit4.JUnit4TestRunnerDecorator.executeTestMethod(JUnit4TestRunnerDecorator.java:157)
	at mockit.integration.junit4.JUnit4TestRunnerDecorator.invokeExplosively(JUnit4TestRunnerDecorator.java:71)
	at mockit.integration.junit4.FakeFrameworkMethod.invokeExplosively(FakeFrameworkMethod.java:29)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
	at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
	at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:120)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:398)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:336)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:205)
	at com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:270)
	at com.starrocks.scheduler.MVRefreshTestBase.initAndExecuteTaskRun(MVRefreshTestBase.java:195)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.triggerRefreshMv(PartitionBasedMvRefreshProcessorIcebergTest.java:80)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition2(PartitionBasedMvRefreshProcessorIcebergTest.java:530)
Caused by: com.starrocks.sql.common.DmlException: Find the corresponding mv partition names of ref base table t0_multi_day failed, mv iceberg_day_mv1:, ref partitions: [p1_a_20220101000000, p2_a_20220102000000]
	at com.starrocks.scheduler.mv.MVPCTRefreshPartitioner.getMvPartitionNamesToRefresh(MVPCTRefreshPartitioner.java:197)
	at com.starrocks.scheduler.mv.MVPCTRefreshListPartitioner.getMVPartitionsToRefresh(MVPCTRefreshListPartitioner.java:292)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:1016)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.getPartitionsToRefreshForMaterializedView(PartitionBasedMvRefreshProcessor.java:975)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.checkMvToRefreshedPartitions(PartitionBasedMvRefreshProcessor.java:298)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedView(PartitionBasedMvRefreshProcessor.java:451)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:377)
	... 6 more

Check failure on line 543 in fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java

See this annotation in the file changed.

@github-actions github-actions / FE UT Report

PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition3

Getting analyzing error. Detail message: Failed to validate retention condition: Getting analyzing error. Detail message: Column '`iceberg0`.`partitioned_transforms_db`.`t0_multi_day_tz`.`ts`' cannot be resolved..
Raw output
com.starrocks.sql.analyzer.SemanticException: Getting analyzing error. Detail message: Failed to validate retention condition: Getting analyzing error. Detail message: Column '`iceberg0`.`partitioned_transforms_db`.`t0_multi_day_tz`.`ts`' cannot be resolved..
	at com.starrocks.common.util.PropertyAnalyzer.analyzePartitionRetentionCondition(PropertyAnalyzer.java:454)
	at com.starrocks.common.util.PropertyAnalyzer.analyzeMVProperties(PropertyAnalyzer.java:1479)
	at com.starrocks.server.LocalMetastore.createMaterializedView(LocalMetastore.java:2984)
	at com.starrocks.utframe.StarRocksAssert.withMaterializedView(StarRocksAssert.java:956)
	at com.starrocks.utframe.StarRocksAssert.withMaterializedView(StarRocksAssert.java:819)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition3(PartitionBasedMvRefreshProcessorIcebergTest.java:543)

Check failure on line 591 in fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java

See this annotation in the file changed.

@github-actions github-actions / FE UT Report

PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition4

Getting analyzing error. Detail message: Failed to validate retention condition: Getting analyzing error. Detail message: Column '`iceberg0`.`partitioned_transforms_db`.`t0_multi_day_tz`.`ts`' cannot be resolved..
Raw output
com.starrocks.sql.analyzer.SemanticException: Getting analyzing error. Detail message: Failed to validate retention condition: Getting analyzing error. Detail message: Column '`iceberg0`.`partitioned_transforms_db`.`t0_multi_day_tz`.`ts`' cannot be resolved..
	at com.starrocks.common.util.PropertyAnalyzer.analyzePartitionRetentionCondition(PropertyAnalyzer.java:454)
	at com.starrocks.alter.AlterMVJobExecutor.visitModifyTablePropertiesClause(AlterMVJobExecutor.java:114)
	at com.starrocks.alter.AlterMVJobExecutor.visitModifyTablePropertiesClause(AlterMVJobExecutor.java:72)
	at com.starrocks.sql.ast.ModifyTablePropertiesClause.accept(ModifyTablePropertiesClause.java:48)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:84)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:80)
	at com.starrocks.alter.AlterJobExecutor.visitAlterMaterializedViewStatement(AlterJobExecutor.java:245)
	at com.starrocks.alter.AlterJobExecutor.visitAlterMaterializedViewStatement(AlterJobExecutor.java:109)
	at com.starrocks.sql.ast.AlterMaterializedViewStmt.accept(AlterMaterializedViewStmt.java:46)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:84)
	at com.starrocks.alter.AlterJobExecutor.process(AlterJobExecutor.java:121)
	at com.starrocks.server.LocalMetastore.alterMaterializedView(LocalMetastore.java:3168)
	at com.starrocks.utframe.StarRocksAssert.alterMvProperties(StarRocksAssert.java:767)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVForIcebergWithRetentionCondition4(PartitionBasedMvRefreshProcessorIcebergTest.java:591)

Check failure on line 291 in fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java

See this annotation in the file changed.

@github-actions github-actions / FE UT Report

PartitionBasedMvRefreshProcessorIcebergTest.testCreatePartitionedMVForIcebergWithPartitionTransform3

Table 'iceberg_day_mv1' already exists
Raw output
com.starrocks.common.DdlException: Table 'iceberg_day_mv1' already exists
	at com.starrocks.common.ErrorReport.reportDdlException(ErrorReport.java:90)
	at com.starrocks.common.ErrorReport.reportDdlException(ErrorReport.java:85)
	at com.starrocks.server.LocalMetastore.createMaterializedView(LocalMetastore.java:2808)
	at com.starrocks.utframe.StarRocksAssert.withMaterializedView(StarRocksAssert.java:956)
	at com.starrocks.utframe.StarRocksAssert.withMaterializedView(StarRocksAssert.java:819)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreatePartitionedMVForIcebergWithPartitionTransform3(PartitionBasedMvRefreshProcessorIcebergTest.java:291)

Check failure on line 450 in fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java

See this annotation in the file changed.

@github-actions github-actions / FE UT Report

PartitionBasedMvRefreshProcessorIcebergTest.testCreatePartitionedMVWithMultiPartitionColumnsDay

expected is: PREDICATES: 1: id = 1, 2: data = 'a', 3: ts >= '2022-01-01 00:00:00', 3: ts < '2022-01-02 00:00:00' but plan is 
PLAN FRAGMENT 0
 OUTPUT EXPRS:1: id | 2: data | 3: ts | 4: date_trunc
  PARTITION: RANDOM

  OLAP TABLE SINK
    TABLE: test_mv1
    TUPLE ID: 7
    RANDOM

  7:Project
  |  <slot 1> : 5: id
  |  <slot 2> : 6: data
  |  <slot 3> : 7: ts
  |  <slot 4> : date_trunc('day', 7: ts)
  |  
  0:UNION
  |  
  |----6:EXCHANGE
  |    
  3:EXCHANGE

PLAN FRAGMENT 1
 OUTPUT EXPRS:
  PARTITION: RANDOM

  STREAM DATA SINK
    EXCHANGE ID: 06
    RANDOM

  5:Project
  |  <slot 13> : 13: id
  |  <slot 14> : 14: data
  |  <slot 15> : 15: ts
  |  
  4:IcebergScanNode
     TABLE: partitioned_transforms_db.t0_multi_day
     PREDICATES: 13: id = 1, 14: data = 'a', 15: ts >= '2022-01-01 00:00:00', 15: ts < '2022-01-02 00:00:00', ((13: id = 1) OR ((((13: id = 1) AND (14: data = 'a')) AND ((15: ts >= '2022-01-01 00:00:00') AND (15: ts < '2022-01-02 00:00:00'))) OR (13: id = 2))) OR ((13: id = 2) AND (14: data = 'a')), 13: id IN (1, 2)
     MIN/MAX PREDICATES: 13: id <= 1, 13: id >= 1, 14: data <= 'a', 14: data >= 'a', 15: ts >= '2022-01-01 00:00:00', 15: ts < '2022-01-02 00:00:00', 13: id >= 1, 13: id <= 2
     cardinality=50
     avgRowSize=3.0

PLAN FRAGMENT 2
 OUTPUT EXPRS:
  PARTITION: RANDOM

  STREAM DATA SINK
    EXCHANGE ID: 03
    RANDOM

  2:Project
  |  <slot 9> : 9: id
  |  <slot 10> : 10: data
  |  <slot 11> : 11: ts
  |  
  1:OlapScanNode
     TABLE: iceberg_day_mv1
     PREAGGREGATION: ON
     PREDICATES: 9: id = 1, 10: data = 'a', 11: ts >= '2022-01-01 00:00:00', 11: ts < '2022-01-02 00:00:00'
     partitions=0/0
     rollup: iceberg_day_mv1
     tabletRatio=0/0
     tabletList=
     cardinality=1
     avgRowSize=3.0
     MaterializedView: true
Raw output
java.lang.AssertionError: 
expected is: PREDICATES: 1: id = 1, 2: data = 'a', 3: ts >= '2022-01-01 00:00:00', 3: ts < '2022-01-02 00:00:00' but plan is 
PLAN FRAGMENT 0
 OUTPUT EXPRS:1: id | 2: data | 3: ts | 4: date_trunc
  PARTITION: RANDOM

  OLAP TABLE SINK
    TABLE: test_mv1
    TUPLE ID: 7
    RANDOM

  7:Project
  |  <slot 1> : 5: id
  |  <slot 2> : 6: data
  |  <slot 3> : 7: ts
  |  <slot 4> : date_trunc('day', 7: ts)
  |  
  0:UNION
  |  
  |----6:EXCHANGE
  |    
  3:EXCHANGE

PLAN FRAGMENT 1
 OUTPUT EXPRS:
  PARTITION: RANDOM

  STREAM DATA SINK
    EXCHANGE ID: 06
    RANDOM

  5:Project
  |  <slot 13> : 13: id
  |  <slot 14> : 14: data
  |  <slot 15> : 15: ts
  |  
  4:IcebergScanNode
     TABLE: partitioned_transforms_db.t0_multi_day
     PREDICATES: 13: id = 1, 14: data = 'a', 15: ts >= '2022-01-01 00:00:00', 15: ts < '2022-01-02 00:00:00', ((13: id = 1) OR ((((13: id = 1) AND (14: data = 'a')) AND ((15: ts >= '2022-01-01 00:00:00') AND (15: ts < '2022-01-02 00:00:00'))) OR (13: id = 2))) OR ((13: id = 2) AND (14: data = 'a')), 13: id IN (1, 2)
     MIN/MAX PREDICATES: 13: id <= 1, 13: id >= 1, 14: data <= 'a', 14: data >= 'a', 15: ts >= '2022-01-01 00:00:00', 15: ts < '2022-01-02 00:00:00', 13: id >= 1, 13: id <= 2
     cardinality=50
     avgRowSize=3.0

PLAN FRAGMENT 2
 OUTPUT EXPRS:
  PARTITION: RANDOM

  STREAM DATA SINK
    EXCHANGE ID: 03
    RANDOM

  2:Project
  |  <slot 9> : 9: id
  |  <slot 10> : 10: data
  |  <slot 11> : 11: ts
  |  
  1:OlapScanNode
     TABLE: iceberg_day_mv1
     PREAGGREGATION: ON
     PREDICATES: 9: id = 1, 10: data = 'a', 11: ts >= '2022-01-01 00:00:00', 11: ts < '2022-01-02 00:00:00'
     partitions=0/0
     rollup: iceberg_day_mv1
     tabletRatio=0/0
     tabletList=
     cardinality=1
     avgRowSize=3.0
     MaterializedView: true

	at com.starrocks.scheduler.MVRefreshTestBase.assertPlanContains(MVRefreshTestBase.java:180)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreateMVWithMultiPartitionColumns(PartitionBasedMvRefreshProcessorIcebergTest.java:420)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessorIcebergTest.testCreatePartitionedMVWithMultiPartitionColumnsDay(PartitionBasedMvRefreshProcessorIcebergTest.java:450)