This is an automated email from the ASF dual-hosted git repository.
yuqi1129 pushed a commit to branch improve/catalog-resolved-properties-cache
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to
refs/heads/improve/catalog-resolved-properties-cache by this push:
new 14e389d362 [#11498] revert: Avoid catalog cache reuse when listing
catalogs
14e389d362 is described below
commit 14e389d36298b8a507a47d88ef704f7ef1401d99
Author: yuqi <[email protected]>
AuthorDate: Tue Jun 9 16:28:04 2026 +0800
[#11498] revert: Avoid catalog cache reuse when listing catalogs
---
.../java/org/apache/gravitino/catalog/CatalogManager.java | 10 +++++++---
.../org/apache/gravitino/catalog/TestCatalogManager.java | 12 ------------
2 files changed, 7 insertions(+), 15 deletions(-)
diff --git
a/core/src/main/java/org/apache/gravitino/catalog/CatalogManager.java
b/core/src/main/java/org/apache/gravitino/catalog/CatalogManager.java
index fecc92acbf..91bd5b08b6 100644
--- a/core/src/main/java/org/apache/gravitino/catalog/CatalogManager.java
+++ b/core/src/main/java/org/apache/gravitino/catalog/CatalogManager.java
@@ -1145,9 +1145,13 @@ public class CatalogManager implements
CatalogDispatcher, Closeable {
* @return The resolved properties.
*/
private Map<String, String> getResolvedProperties(CatalogEntity entity) {
- CatalogWrapper catalogWrapper =
loadCatalogAndWrap(entity.nameIdentifier());
- return catalogWrapper.classLoader.withClassLoader(
- cl -> catalogWrapper.catalog.properties(), RuntimeException.class);
+ Map<String, String> conf = entity.getProperties();
+ String provider = entity.getProvider();
+
+ try (IsolatedClassLoader classLoader = createClassLoader(provider, conf)) {
+ BaseCatalog<?> catalog = createBaseCatalog(classLoader, entity);
+ return classLoader.withClassLoader(cl -> catalog.properties(),
RuntimeException.class);
+ }
}
private BaseCatalog<?> createBaseCatalog(IsolatedClassLoader classLoader,
CatalogEntity entity) {
diff --git
a/core/src/test/java/org/apache/gravitino/catalog/TestCatalogManager.java
b/core/src/test/java/org/apache/gravitino/catalog/TestCatalogManager.java
index 31d94a2c64..4880d7f258 100644
--- a/core/src/test/java/org/apache/gravitino/catalog/TestCatalogManager.java
+++ b/core/src/test/java/org/apache/gravitino/catalog/TestCatalogManager.java
@@ -436,7 +436,6 @@ public class TestCatalogManager {
catalogManager.createCatalog(relIdent, Catalog.Type.RELATIONAL, provider,
"comment", props);
catalogManager.createCatalog(fileIdent, Catalog.Type.FILESET, provider,
"comment", props);
- catalogManager.getCatalogCache().invalidateAll();
Catalog[] catalogs = catalogManager.listCatalogsInfo(relIdent.namespace());
Assertions.assertEquals(2, catalogs.length);
@@ -453,17 +452,6 @@ public class TestCatalogManager {
}
}
- CatalogManager.CatalogWrapper relWrapper =
- catalogManager.getCatalogCache().getIfPresent(relIdent);
- CatalogManager.CatalogWrapper fileWrapper =
- catalogManager.getCatalogCache().getIfPresent(fileIdent);
- Assertions.assertNotNull(relWrapper);
- Assertions.assertNotNull(fileWrapper);
-
- catalogManager.listCatalogsInfo(relIdent.namespace());
- Assertions.assertSame(relWrapper,
catalogManager.getCatalogCache().getIfPresent(relIdent));
- Assertions.assertSame(fileWrapper,
catalogManager.getCatalogCache().getIfPresent(fileIdent));
-
// Test list under non-existed metalake
NameIdentifier ident2 = NameIdentifier.of("metalake1", "test1");
Namespace namespace = ident2.namespace();