[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
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
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)
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)
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)
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)
Loading