diff --git a/fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergConnector.java b/fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergConnector.java index a86763c0e2d15..496357fce6ef5 100644 --- a/fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergConnector.java +++ b/fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergConnector.java @@ -111,8 +111,13 @@ public ConnectorMetadata getMetadata() { public IcebergCatalog getNativeCatalog() { if (icebergNativeCatalog == null) { IcebergCatalog nativeCatalog = buildIcebergNativeCatalog(); - boolean enableMetadataCache = Boolean.parseBoolean( - properties.getOrDefault("enable_iceberg_metadata_cache", "true")); + boolean enableMetadataCache; + if (properties.containsKey("enable_iceberg_metadata_cache")) { + enableMetadataCache = Boolean.parseBoolean(properties.get("enable_iceberg_metadata_cache")); + } else { + enableMetadataCache = getNativeCatalogType() == IcebergCatalogType.GLUE_CATALOG; + } + if (enableMetadataCache && !isResourceMappingCatalog(catalogName)) { long ttl = Long.parseLong(properties.getOrDefault("iceberg_meta_cache_ttl_sec", "1800")); nativeCatalog = new CachingIcebergCatalog(nativeCatalog, ttl, buildBackgroundJobPlanningExecutor()); diff --git a/test/sql/test_iceberg/R/test_iceberg_catalog b/test/sql/test_iceberg/R/test_iceberg_catalog index c2985fa0ec9e5..0e5902253c39e 100644 --- a/test/sql/test_iceberg/R/test_iceberg_catalog +++ b/test/sql/test_iceberg/R/test_iceberg_catalog @@ -1,5 +1,5 @@ -- name: testIcebergCatalog -create external catalog iceberg_sql_test_${uuid0} PROPERTIES ("type"="iceberg", "iceberg.catalog.type"="hive", "iceberg.catalog.hive.metastore.uris"="${iceberg_catalog_hive_metastore_uris}"); +create external catalog iceberg_sql_test_${uuid0} PROPERTIES ("type"="iceberg", "iceberg.catalog.type"="hive", "iceberg.catalog.hive.metastore.uris"="${iceberg_catalog_hive_metastore_uris}", "enable_iceberg_metadata_cache"="true"); -- result: -- !result select * from iceberg_sql_test_${uuid0}.iceberg_oss_db.test_trans_part; @@ -13,4 +13,4 @@ select * from iceberg_sql_test_${uuid0}.iceberg_oss_db.test_trans_part; -- !result drop catalog iceberg_sql_test_${uuid0} -- result: --- !result \ No newline at end of file +-- !result diff --git a/test/sql/test_iceberg/T/test_iceberg_catalog b/test/sql/test_iceberg/T/test_iceberg_catalog index 2473814beb51c..37e1905ff7e93 100644 --- a/test/sql/test_iceberg/T/test_iceberg_catalog +++ b/test/sql/test_iceberg/T/test_iceberg_catalog @@ -1,8 +1,8 @@ -- name: testIcebergCatalog -create external catalog iceberg_sql_test_${uuid0} PROPERTIES ("type"="iceberg", "iceberg.catalog.type"="hive", "iceberg.catalog.hive.metastore.uris"="${iceberg_catalog_hive_metastore_uris}"); +create external catalog iceberg_sql_test_${uuid0} PROPERTIES ("type"="iceberg", "iceberg.catalog.type"="hive", "iceberg.catalog.hive.metastore.uris"="${iceberg_catalog_hive_metastore_uris}","enable_iceberg_metadata_cache"="true"); -- only partition column Predicate with runtime filter select * from iceberg_sql_test_${uuid0}.iceberg_oss_db.test_trans_part; -drop catalog iceberg_sql_test_${uuid0} \ No newline at end of file +drop catalog iceberg_sql_test_${uuid0}