From b1da13804a9c8a2d149de0ca7640a83ea6e517bf Mon Sep 17 00:00:00 2001 From: zhangdong Date: Tue, 10 Dec 2024 10:58:06 +0800 Subject: [PATCH] move paimon schema cache to ExternalSchemaCache --- .../apache/doris/datasource/hive/HMSExternalTable.java | 4 ++++ .../org/apache/doris/external/hms/HmsCatalogTest.java | 2 +- .../test/java/org/apache/doris/qe/HmsQueryCacheTest.java | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java index cfeb1dbf981e9d..da4670d6d0589d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java @@ -503,6 +503,10 @@ public Set getPartitionNames() { @Override public Optional initSchemaAndUpdateTime(SchemaCacheKey key) { + return initSchemaAndUpdateTime(); + } + + public Optional initSchemaAndUpdateTime() { org.apache.hadoop.hive.metastore.api.Table table = ((HMSExternalCatalog) catalog).getClient() .getTable(dbName, name); // try to use transient_lastDdlTime from hms client diff --git a/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java b/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java index c43117f2e36d4f..c875ef6bc2f141 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java @@ -138,7 +138,7 @@ private void createDbAndTableForHmsCatalog(HMSExternalCatalog hmsCatalog) { result = TableIf.TableType.HMS_EXTERNAL_TABLE; // mock initSchemaAndUpdateTime and do nothing - tbl.initSchemaAndUpdateTime(null); + tbl.initSchemaAndUpdateTime(); minTimes = 0; tbl.getDatabase(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java b/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java index af6588b84fc85b..bddb3c8185ae72 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java @@ -158,7 +158,7 @@ private void init(HMSExternalCatalog hmsCatalog) { result = DLAType.HIVE; // mock initSchemaAndUpdateTime and do nothing - tbl.initSchemaAndUpdateTime(null); + tbl.initSchemaAndUpdateTime(); minTimes = 0; tbl.getDatabase(); @@ -208,7 +208,7 @@ private void init(HMSExternalCatalog hmsCatalog) { result = DLAType.HIVE; // mock initSchemaAndUpdateTime and do nothing - tbl2.initSchemaAndUpdateTime(null); + tbl2.initSchemaAndUpdateTime(); minTimes = 0; tbl2.getDatabase(); @@ -386,7 +386,7 @@ public void testHitSqlCacheAfterPartitionUpdateTimeChanged() throws Exception { List scanNodes = Arrays.asList(hiveScanNode4); // invoke initSchemaAndUpdateTime first and init schemaUpdateTime - tbl2.initSchemaAndUpdateTime(null); + tbl2.initSchemaAndUpdateTime(); CacheAnalyzer ca = new CacheAnalyzer(connectContext, parseStmt, scanNodes); ca.checkCacheMode(System.currentTimeMillis() + Config.cache_last_version_interval_second * 1000L * 2); @@ -434,7 +434,7 @@ public void testHitSqlCacheByNereidsAfterPartitionUpdateTimeChanged() { List scanNodes = Arrays.asList(hiveScanNode4); // invoke initSchemaAndUpdateTime first and init schemaUpdateTime - tbl2.initSchemaAndUpdateTime(null); + tbl2.initSchemaAndUpdateTime(); CacheAnalyzer ca = new CacheAnalyzer(connectContext, parseStmt, scanNodes); ca.checkCacheModeForNereids(System.currentTimeMillis() + Config.cache_last_version_interval_second * 1000L * 2);