From e35df6967bbc6c154e377e22bf4c8fa458866b1a Mon Sep 17 00:00:00 2001 From: Han Weng Date: Fri, 23 Apr 2021 17:47:37 -0400 Subject: [PATCH] Fix cache issues in hetu-metastore --- .../io/hetu/core/metastore/HetuMetastoreCache.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hetu-metastore/src/main/java/io/hetu/core/metastore/HetuMetastoreCache.java b/hetu-metastore/src/main/java/io/hetu/core/metastore/HetuMetastoreCache.java index dacd363e8..2905d3c28 100644 --- a/hetu-metastore/src/main/java/io/hetu/core/metastore/HetuMetastoreCache.java +++ b/hetu-metastore/src/main/java/io/hetu/core/metastore/HetuMetastoreCache.java @@ -60,6 +60,7 @@ public class HetuMetastoreCache } finally { catalogsCache.invalidateAll(); + catalogCache.invalidate(catalog.getName()); } } @@ -71,6 +72,7 @@ public class HetuMetastoreCache } finally { catalogsCache.invalidateAll(); + catalogCache.invalidate(catalog.getName()); } } @@ -82,6 +84,7 @@ public class HetuMetastoreCache } finally { catalogCache.invalidate(catalogName); + catalogCache.invalidate(newCatalog.getName()); catalogsCache.invalidateAll(); } } @@ -136,6 +139,7 @@ public class HetuMetastoreCache } finally { databasesCache.invalidate(database.getCatalogName()); + databaseCache.invalidate(database.getCatalogName() + "." + database.getName()); } } @@ -147,6 +151,7 @@ public class HetuMetastoreCache } finally { databasesCache.invalidate(database.getCatalogName()); + databaseCache.invalidate(database.getCatalogName() + "." + database.getName()); } } @@ -158,7 +163,9 @@ public class HetuMetastoreCache } finally { String key = catalogName + "." + databaseName; + String newKey = catalogName + "." + newDatabase.getName(); databaseCache.invalidate(key); + databaseCache.invalidate(newKey); databasesCache.invalidate(catalogName); } } @@ -257,8 +264,10 @@ public class HetuMetastoreCache } finally { String databaseKey = catalogName + '.' + databaseName; - String tableKey = catalogName + "." + databaseName + "." + oldTableName; + String tableKey = databaseKey + "." + oldTableName; + String newTableKey = databaseKey + "." + newTable.getName(); tableCache.invalidate(tableKey); + tableCache.invalidate(newTableKey); tablesCache.invalidate(databaseKey); } }