Steps to reproduce the behavior (Required)
-
Create iceberg table in AWS Athena,
CREATE TABLE iceberg_test2 (
prcdate date,
price double,
localcode string)
PARTITIONED BY (month(prcdate))
LOCATION 's3://bucket/directory/'
TBLPROPERTIES (
'table_type'='iceberg',
'format'='PARQUET',
'write_compression'='GZIP'
);
-
Create external catalog in StarRocks and materialized view
CREATE EXTERNAL CATALOG iceberg_catalog_glue_test
PROPERTIES
(
"type" = "iceberg",
"iceberg.catalog.type" = "glue",
"aws.glue.use_instance_profile" = "true",
"aws.glue.region" = "us-east-2",
"aws.s3.use_instance_profile" = "true",
"aws.s3.region" = "us-east-2"
);
CREATE MATERIALIZED VIEW test1view (prcdate, price, localcode)
PARTITION BY (date_trunc('month', prcdate))
DISTRIBUTED BY HASH(localcode)
REFRESH MANUAL
PROPERTIES (
"replicated_storage" = "true",
"force_external_table_query_rewrite" = "CHECKED",
"query_rewrite_consistency" = "CHECKED",
"mv_rewrite_staleness_second" = "120",
"replication_num" = "1",
"enable_query_rewrite" = "true"
)
AS
SELECT prcdate, price, localcode FROM iceberg_catalog_glue_test.dev_db.iceberg_test2;
-
Query select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2;
-
Insert some data to Athena table
insert into iceberg_test2 values(date('2024-10-03'),10,'test1');
insert into iceberg_test2 values(date('2024-10-05'),10,'test1');
insert into iceberg_test2 values(date('2024-11-03'),10,'test1');
-
Refresh materilized view REFRESH MATERIALIZED VIEW test1view;
-
Query result is expected select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2;
-
Further Insert some data to Athena table
insert into iceberg_test2 values(date('2024-11-08'),10,'test1');
After a period of time, possible external table metadata had been refreshed
8. Query result is not expected select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2;
Expected behavior (Required)
| prcdate |
| 2024-10-03 |
| 2024-10-05 |
| 2024-11-05 |
| 2024-11-08 |
Real behavior (Required)
| prcdate |
| 2024-10-05 |
| 2024-10-03 |
Query result of materialized view is expected SELECT distinct prcdate FROM test1view;
| prcdate |
| 2024-10-03 |
| 2024-10-05 |
| 2024-11-05 |
Here's the query explain,still materialized view was selected to use and looks one partition is not be queried explain select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2
PLAN FRAGMENT 0
OUTPUT EXPRS:1: prcdate
PARTITION: UNPARTITIONED
RESULT SINK
5:EXCHANGE
PLAN FRAGMENT 1
OUTPUT EXPRS:
PARTITION: HASH_PARTITIONED: 1: prcdate
STREAM DATA SINK
EXCHANGE ID: 05
UNPARTITIONED
4:AGGREGATE (merge finalize)
| group by: 1: prcdate
|
3:EXCHANGE
PLAN FRAGMENT 2
OUTPUT EXPRS:
colocate exec groups: ExecGroup{groupId=1, nodeIds=[0, 1, 2]}
PARTITION: RANDOM
STREAM DATA SINK
EXCHANGE ID: 03
HASH_PARTITIONED: 1: prcdate
2:AGGREGATE (update serialize)
| STREAMING
| group by: 1: prcdate
|
1:Project
| <slot 1> : 4: prcdate
|
0:OlapScanNode
TABLE: test1view
PREAGGREGATION: ON
partitions=1/2
rollup: test1view
tabletRatio=6/6
tabletList=40459,40461,40463,40465,40467,40469
cardinality=2
avgRowSize=8.0
MaterializedView: true
StarRocks version (Required)
Steps to reproduce the behavior (Required)
Create iceberg table in AWS Athena,
Create external catalog in StarRocks and materialized view
Query
select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2;Insert some data to Athena table
Refresh materilized view
REFRESH MATERIALIZED VIEW test1view;Query result is expected
select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2;Further Insert some data to Athena table
After a period of time, possible external table metadata had been refreshed
8. Query result is not expected
select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2;Expected behavior (Required)
Real behavior (Required)
Query result of materialized view is expected
SELECT distinct prcdate FROM test1view;Here's the query explain,still materialized view was selected to use and looks one partition is not be queried
explain select DISTINCT prcdate from iceberg_catalog_glue_test.dev_db.iceberg_test2StarRocks version (Required)