This is an automated email from the ASF dual-hosted git repository.
mchades pushed a commit to branch branch-1.3
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/branch-1.3 by this push:
new 8d71bbfdf8 [Cherry-pick to branch-1.3] [#11389] fix(core): use
internal dispatchers for internal metadata loading (#11605) (#11695)
8d71bbfdf8 is described below
commit 8d71bbfdf8ce7e4051b64e9c31933aa1abb85781
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Jun 17 09:45:36 2026 +0800
[Cherry-pick to branch-1.3] [#11389] fix(core): use internal dispatchers
for internal metadata loading (#11605) (#11695)
**Cherry-pick Information:**
- Original commit: de8e0bb4f3b6031db132c36e226a1a6dfe93e63c
- Target branch: `branch-1.3`
- Status: ✅ Clean cherry-pick (no conflicts)
Co-authored-by: Shane <[email protected]>
---
.../ranger/RangerAuthorizationHDFSPlugin.java | 10 +++----
.../test/RangerAuthorizationHDFSPluginIT.java | 18 +++++++++++-
.../java/org/apache/gravitino/GravitinoEnv.java | 32 ++++++++++++++++++++++
.../authorization/AuthorizationUtils.java | 20 ++++++++------
.../catalog/TopicOperationDispatcher.java | 4 +--
.../authorization/TestAuthorizationUtils.java | 12 +++++---
.../catalog/TestTableOperationDispatcher.java | 5 ++--
.../catalog/TestTopicOperationDispatcher.java | 2 +-
.../catalog/TestViewOperationDispatcher.java | 6 ++--
.../provider/TestDynamicIcebergConfigProvider.java | 2 --
10 files changed, 84 insertions(+), 27 deletions(-)
diff --git
a/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/RangerAuthorizationHDFSPlugin.java
b/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/RangerAuthorizationHDFSPlugin.java
index c70344ba7d..82f731f526 100644
---
a/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/RangerAuthorizationHDFSPlugin.java
+++
b/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/RangerAuthorizationHDFSPlugin.java
@@ -550,7 +550,7 @@ public class RangerAuthorizationHDFSPlugin extends
RangerAuthorizationPlugin {
if (type == Entity.EntityType.METALAKE) {
NameIdentifier[] catalogs =
GravitinoEnv.getInstance()
- .catalogDispatcher()
+ .internalCatalogDispatcher()
.listCatalogs(Namespace.of(identifier.name()));
for (NameIdentifier catalog : catalogs) {
locations.addAll(
@@ -592,7 +592,7 @@ public class RangerAuthorizationHDFSPlugin extends
RangerAuthorizationPlugin {
boolean recursive) {
NameIdentifier[] catalogs =
GravitinoEnv.getInstance()
- .catalogDispatcher()
+ .internalCatalogDispatcher()
.listCatalogs(Namespace.of(identifier.name()));
for (NameIdentifier catalog : catalogs) {
AuthorizationUtils.getMetadataObjectLocation(catalog,
Entity.EntityType.CATALOG)
@@ -668,7 +668,7 @@ public class RangerAuthorizationHDFSPlugin extends
RangerAuthorizationPlugin {
if (metadataObject.type() == MetadataObject.Type.METALAKE) {
NameIdentifier[] catalogs =
GravitinoEnv.getInstance()
- .catalogDispatcher()
+ .internalCatalogDispatcher()
.listCatalogs(Namespace.of(identifier.name()));
for (NameIdentifier catalog : catalogs) {
locations.addAll(
@@ -723,11 +723,11 @@ public class RangerAuthorizationHDFSPlugin extends
RangerAuthorizationPlugin {
NameIdentifier ident = MetadataObjectUtil.toEntityIdent(metalake,
newMetadataObject);
NameIdentifier catalogIdent =
NameIdentifierUtil.getCatalogIdentifier(ident);
if (GravitinoEnv.getInstance()
- .catalogDispatcher()
+ .internalCatalogDispatcher()
.loadCatalog(catalogIdent)
.provider()
.equals("hive")) {
- Table table =
GravitinoEnv.getInstance().tableDispatcher().loadTable(ident);
+ Table table =
GravitinoEnv.getInstance().internalTableDispatcher().loadTable(ident);
if (table.properties().get("table-type").equals("EXTERNAL_TABLE"))
{
continue;
}
diff --git
a/authorizations/authorization-ranger/src/test/java/org/apache/gravitino/authorization/ranger/integration/test/RangerAuthorizationHDFSPluginIT.java
b/authorizations/authorization-ranger/src/test/java/org/apache/gravitino/authorization/ranger/integration/test/RangerAuthorizationHDFSPluginIT.java
index 2ec989a23e..be81b39003 100644
---
a/authorizations/authorization-ranger/src/test/java/org/apache/gravitino/authorization/ranger/integration/test/RangerAuthorizationHDFSPluginIT.java
+++
b/authorizations/authorization-ranger/src/test/java/org/apache/gravitino/authorization/ranger/integration/test/RangerAuthorizationHDFSPluginIT.java
@@ -53,17 +53,33 @@ public class RangerAuthorizationHDFSPluginIT {
private static RangerAuthorizationPlugin rangerAuthPlugin;
private static final CatalogDispatcher manager =
mock(CatalogDispatcher.class);
+ private static CatalogDispatcher previousCatalogDispatcher;
+ private static CatalogDispatcher previousInternalCatalogDispatcher;
@BeforeAll
public static void setup() throws Exception {
RangerITEnv.init(RangerITEnv.currentFunName(), true);
rangerAuthPlugin = RangerITEnv.rangerAuthHDFSPlugin;
+ previousCatalogDispatcher =
+ (CatalogDispatcher)
+ FieldUtils.readField(GravitinoEnv.getInstance(),
"catalogDispatcher", true);
+ previousInternalCatalogDispatcher =
+ (CatalogDispatcher)
+ FieldUtils.readField(GravitinoEnv.getInstance(),
"internalCatalogDispatcher", true);
FieldUtils.writeField(GravitinoEnv.getInstance(), "catalogDispatcher",
manager, true);
+ FieldUtils.writeField(GravitinoEnv.getInstance(),
"internalCatalogDispatcher", manager, true);
when(manager.listCatalogs(any())).thenReturn(new NameIdentifier[0]);
}
@AfterAll
- public static void cleanup() {
+ public static void cleanup() throws IllegalAccessException {
+ FieldUtils.writeField(
+ GravitinoEnv.getInstance(), "catalogDispatcher",
previousCatalogDispatcher, true);
+ FieldUtils.writeField(
+ GravitinoEnv.getInstance(),
+ "internalCatalogDispatcher",
+ previousInternalCatalogDispatcher,
+ true);
RangerITEnv.cleanup();
}
diff --git a/core/src/main/java/org/apache/gravitino/GravitinoEnv.java
b/core/src/main/java/org/apache/gravitino/GravitinoEnv.java
index 700e187b89..11c1291129 100644
--- a/core/src/main/java/org/apache/gravitino/GravitinoEnv.java
+++ b/core/src/main/java/org/apache/gravitino/GravitinoEnv.java
@@ -137,8 +137,12 @@ public class GravitinoEnv {
private FilesetDispatcher filesetDispatcher;
+ private FilesetDispatcher internalFilesetDispatcher;
+
private TopicDispatcher topicDispatcher;
+ private TopicDispatcher internalTopicDispatcher;
+
private ModelDispatcher modelDispatcher;
private FunctionDispatcher functionDispatcher;
@@ -365,6 +369,17 @@ public class GravitinoEnv {
return filesetDispatcher;
}
+ /**
+ * Get the internal FilesetDispatcher associated with the Gravitino
environment.
+ *
+ * @return The internal FilesetDispatcher instance.
+ */
+ public FilesetDispatcher internalFilesetDispatcher() {
+ Preconditions.checkArgument(
+ internalFilesetDispatcher != null, "GravitinoEnv is not initialized.");
+ return internalFilesetDispatcher;
+ }
+
/**
* Get the TopicDispatcher associated with the Gravitino environment.
*
@@ -374,6 +389,17 @@ public class GravitinoEnv {
return topicDispatcher;
}
+ /**
+ * Get the internal TopicDispatcher associated with the Gravitino
environment.
+ *
+ * @return The internal TopicDispatcher instance.
+ */
+ public TopicDispatcher internalTopicDispatcher() {
+ Preconditions.checkArgument(
+ internalTopicDispatcher != null, "GravitinoEnv is not initialized.");
+ return internalTopicDispatcher;
+ }
+
/**
* Get the MetalakeDispatcher associated with the Gravitino environment.
*
@@ -652,6 +678,7 @@ public class GravitinoEnv {
// CatalogManager registers its own change-log listener with the entity
store (when the store
// supports it), so no poller wiring is needed here.
this.catalogManager = new CatalogManager(config, entityStore, idGenerator);
+ this.internalCatalogDispatcher = catalogManager;
CatalogNormalizeDispatcher catalogNormalizeDispatcher =
new CatalogNormalizeDispatcher(catalogManager);
this.internalCatalogDispatcher = catalogNormalizeDispatcher;
@@ -664,6 +691,7 @@ public class GravitinoEnv {
SchemaOperationDispatcher schemaOperationDispatcher =
new SchemaOperationDispatcher(catalogManager, entityStore,
idGenerator);
+ this.internalSchemaDispatcher = schemaOperationDispatcher;
SchemaNormalizeDispatcher schemaNormalizeDispatcher =
new SchemaNormalizeDispatcher(schemaOperationDispatcher,
catalogManager);
this.internalSchemaDispatcher = schemaNormalizeDispatcher;
@@ -673,6 +701,7 @@ public class GravitinoEnv {
TableOperationDispatcher tableOperationDispatcher =
new TableOperationDispatcher(catalogManager, entityStore, idGenerator);
+ this.internalTableDispatcher = tableOperationDispatcher;
TableNormalizeDispatcher tableNormalizeDispatcher =
new TableNormalizeDispatcher(tableOperationDispatcher, catalogManager);
TableOperationDispatcher internalTableOperationDispatcher =
@@ -696,6 +725,7 @@ public class GravitinoEnv {
new FilesetOperationDispatcher(catalogManager, entityStore,
idGenerator);
FilesetNormalizeDispatcher filesetNormalizeDispatcher =
new FilesetNormalizeDispatcher(filesetOperationDispatcher,
catalogManager);
+ this.internalFilesetDispatcher = filesetNormalizeDispatcher;
FilesetEventDispatcher filesetEventDispatcher =
new FilesetEventDispatcher(eventBus, filesetNormalizeDispatcher);
this.filesetDispatcher = new FilesetHookDispatcher(filesetEventDispatcher);
@@ -704,6 +734,7 @@ public class GravitinoEnv {
new TopicOperationDispatcher(catalogManager, entityStore, idGenerator);
TopicNormalizeDispatcher topicNormalizeDispatcher =
new TopicNormalizeDispatcher(topicOperationDispatcher, catalogManager);
+ this.internalTopicDispatcher = topicNormalizeDispatcher;
TopicEventDispatcher topicEventDispatcher =
new TopicEventDispatcher(eventBus, topicNormalizeDispatcher);
this.topicDispatcher = new TopicHookDispatcher(topicEventDispatcher);
@@ -734,6 +765,7 @@ public class GravitinoEnv {
// privilege support is finalized.
ViewOperationDispatcher viewOperationDispatcher =
new ViewOperationDispatcher(catalogManager, entityStore, idGenerator);
+ this.internalViewDispatcher = viewOperationDispatcher;
ViewNormalizeDispatcher viewNormalizeDispatcher =
new ViewNormalizeDispatcher(viewOperationDispatcher, catalogManager);
ViewOperationDispatcher internalViewOperationDispatcher =
diff --git
a/core/src/main/java/org/apache/gravitino/authorization/AuthorizationUtils.java
b/core/src/main/java/org/apache/gravitino/authorization/AuthorizationUtils.java
index 2f5518ad84..7ac6008c1d 100644
---
a/core/src/main/java/org/apache/gravitino/authorization/AuthorizationUtils.java
+++
b/core/src/main/java/org/apache/gravitino/authorization/AuthorizationUtils.java
@@ -471,7 +471,8 @@ public class AuthorizationUtils {
private static void checkCatalogType(
NameIdentifier catalogIdent, Catalog.Type type, Privilege privilege) {
- Catalog catalog =
GravitinoEnv.getInstance().catalogDispatcher().loadCatalog(catalogIdent);
+ Catalog catalog =
+
GravitinoEnv.getInstance().internalCatalogDispatcher().loadCatalog(catalogIdent);
if (catalog.type() != type) {
throw new IllegalPrivilegeException(
"Catalog %s type %s doesn't support privilege %s",
@@ -505,7 +506,8 @@ public class AuthorizationUtils {
private static String getHiveDefaultLocation(String metalakeName, String
catalogName) {
NameIdentifier defaultSchemaIdent =
NameIdentifier.of(metalakeName, catalogName, "default" /*Hive default
schema*/);
- Schema schema =
GravitinoEnv.getInstance().schemaDispatcher().loadSchema(defaultSchemaIdent);
+ Schema schema =
+
GravitinoEnv.getInstance().internalSchemaDispatcher().loadSchema(defaultSchemaIdent);
if (schema.properties().containsKey(HiveConstants.LOCATION)) {
String defaultSchemaLocation =
schema.properties().get(HiveConstants.LOCATION);
if (defaultSchemaLocation != null && !defaultSchemaLocation.isEmpty()) {
@@ -533,7 +535,8 @@ public class AuthorizationUtils {
break;
case CATALOG:
{
- Catalog catalogObj =
GravitinoEnv.getInstance().catalogDispatcher().loadCatalog(ident);
+ Catalog catalogObj =
+
GravitinoEnv.getInstance().internalCatalogDispatcher().loadCatalog(ident);
if (catalogObj.provider().equals("hive")) {
// The Hive default schema location is Hive warehouse directory
String defaultSchemaLocation =
@@ -547,10 +550,10 @@ public class AuthorizationUtils {
case SCHEMA:
Catalog catalogObj =
GravitinoEnv.getInstance()
- .catalogDispatcher()
+ .internalCatalogDispatcher()
.loadCatalog(
NameIdentifier.of(ident.namespace().level(0),
ident.namespace().level(1)));
- Schema schema =
GravitinoEnv.getInstance().schemaDispatcher().loadSchema(ident);
+ Schema schema =
GravitinoEnv.getInstance().internalSchemaDispatcher().loadSchema(ident);
switch (catalogObj.type()) {
case RELATIONAL:
@@ -594,11 +597,11 @@ public class AuthorizationUtils {
{
catalogObj =
GravitinoEnv.getInstance()
- .catalogDispatcher()
+ .internalCatalogDispatcher()
.loadCatalog(
NameIdentifier.of(ident.namespace().level(0),
ident.namespace().level(1)));
if (catalogObj.provider().equals("hive")) {
- Table table =
GravitinoEnv.getInstance().tableDispatcher().loadTable(ident);
+ Table table =
GravitinoEnv.getInstance().internalTableDispatcher().loadTable(ident);
if (table.properties().containsKey(HiveConstants.LOCATION)) {
String tableLocation =
table.properties().get(HiveConstants.LOCATION);
if (StringUtils.isNotBlank(tableLocation)) {
@@ -611,7 +614,8 @@ public class AuthorizationUtils {
}
break;
case FILESET:
- FilesetDispatcher filesetDispatcher =
GravitinoEnv.getInstance().filesetDispatcher();
+ FilesetDispatcher filesetDispatcher =
+ GravitinoEnv.getInstance().internalFilesetDispatcher();
Fileset fileset = filesetDispatcher.loadFileset(ident);
Preconditions.checkArgument(
fileset != null, String.format("Fileset %s is not found",
ident));
diff --git
a/core/src/main/java/org/apache/gravitino/catalog/TopicOperationDispatcher.java
b/core/src/main/java/org/apache/gravitino/catalog/TopicOperationDispatcher.java
index 63711a393c..c68f33c682 100644
---
a/core/src/main/java/org/apache/gravitino/catalog/TopicOperationDispatcher.java
+++
b/core/src/main/java/org/apache/gravitino/catalog/TopicOperationDispatcher.java
@@ -98,7 +98,7 @@ public class TopicOperationDispatcher extends
OperationDispatcher implements Top
if (!topic.imported()) {
// Load the schema to make sure the schema is imported.
// This is not necessary for Kafka catalogs.
- SchemaDispatcher schemaDispatcher =
GravitinoEnv.getInstance().schemaDispatcher();
+ SchemaDispatcher schemaDispatcher =
GravitinoEnv.getInstance().internalSchemaDispatcher();
NameIdentifier schemaIdent =
NameIdentifier.of(ident.namespace().levels());
schemaDispatcher.loadSchema(schemaIdent);
@@ -134,7 +134,7 @@ public class TopicOperationDispatcher extends
OperationDispatcher implements Top
throws NoSuchSchemaException, TopicAlreadyExistsException {
// Load the schema to make sure the schema exists.
- SchemaDispatcher schemaDispatcher =
GravitinoEnv.getInstance().schemaDispatcher();
+ SchemaDispatcher schemaDispatcher =
GravitinoEnv.getInstance().internalSchemaDispatcher();
NameIdentifier schemaIdent = NameIdentifier.of(ident.namespace().levels());
schemaDispatcher.loadSchema(schemaIdent);
diff --git
a/core/src/test/java/org/apache/gravitino/authorization/TestAuthorizationUtils.java
b/core/src/test/java/org/apache/gravitino/authorization/TestAuthorizationUtils.java
index e27b68bb91..c0ae444eb0 100644
---
a/core/src/test/java/org/apache/gravitino/authorization/TestAuthorizationUtils.java
+++
b/core/src/test/java/org/apache/gravitino/authorization/TestAuthorizationUtils.java
@@ -240,8 +240,10 @@ class TestAuthorizationUtils {
Mockito.when(catalogDispatcher.loadCatalog(Mockito.any())).thenReturn(catalog);
Mockito.when(tableDispatcher.loadTable(Mockito.any())).thenReturn(table);
- FieldUtils.writeField(GravitinoEnv.getInstance(), "catalogDispatcher",
catalogDispatcher, true);
- FieldUtils.writeField(GravitinoEnv.getInstance(), "tableDispatcher",
tableDispatcher, true);
+ FieldUtils.writeField(
+ GravitinoEnv.getInstance(), "internalCatalogDispatcher",
catalogDispatcher, true);
+ FieldUtils.writeField(
+ GravitinoEnv.getInstance(), "internalTableDispatcher",
tableDispatcher, true);
FieldUtils.writeField(
GravitinoEnv.getInstance(), "accessControlDispatcher",
accessControlDispatcher, true);
@@ -276,8 +278,10 @@ class TestAuthorizationUtils {
FieldUtils.writeField(
GravitinoEnv.getInstance(), "accessControlDispatcher",
accessControlDispatcher, true);
- FieldUtils.writeField(GravitinoEnv.getInstance(), "catalogDispatcher",
catalogDispatcher, true);
- FieldUtils.writeField(GravitinoEnv.getInstance(), "schemaDispatcher",
schemaDispatcher, true);
+ FieldUtils.writeField(
+ GravitinoEnv.getInstance(), "internalCatalogDispatcher",
catalogDispatcher, true);
+ FieldUtils.writeField(
+ GravitinoEnv.getInstance(), "internalSchemaDispatcher",
schemaDispatcher, true);
List<String> locations =
AuthorizationUtils.getMetadataObjectLocation(
diff --git
a/core/src/test/java/org/apache/gravitino/catalog/TestTableOperationDispatcher.java
b/core/src/test/java/org/apache/gravitino/catalog/TestTableOperationDispatcher.java
index 36c142cc4f..260d23a4c0 100644
---
a/core/src/test/java/org/apache/gravitino/catalog/TestTableOperationDispatcher.java
+++
b/core/src/test/java/org/apache/gravitino/catalog/TestTableOperationDispatcher.java
@@ -82,7 +82,8 @@ public class TestTableOperationDispatcher extends
TestOperationDispatcher {
schemaOperationDispatcher =
new SchemaOperationDispatcher(catalogManager, entityStore,
idGenerator);
tableOperationDispatcher =
- new TableOperationDispatcher(catalogManager, entityStore, idGenerator);
+ new TableOperationDispatcher(
+ catalogManager, entityStore, idGenerator, () ->
schemaOperationDispatcher);
Config config = mock(Config.class);
doReturn(100000L).when(config).get(TREE_LOCK_MAX_NODE_IN_MEMORY);
@@ -90,7 +91,7 @@ public class TestTableOperationDispatcher extends
TestOperationDispatcher {
doReturn(36000L).when(config).get(TREE_LOCK_CLEAN_INTERVAL);
FieldUtils.writeField(GravitinoEnv.getInstance(), "lockManager", new
LockManager(config), true);
FieldUtils.writeField(
- GravitinoEnv.getInstance(), "schemaDispatcher",
schemaOperationDispatcher, true);
+ GravitinoEnv.getInstance(), "internalSchemaDispatcher",
schemaOperationDispatcher, true);
}
@Test
diff --git
a/core/src/test/java/org/apache/gravitino/catalog/TestTopicOperationDispatcher.java
b/core/src/test/java/org/apache/gravitino/catalog/TestTopicOperationDispatcher.java
index 0aea8c6604..50055ef183 100644
---
a/core/src/test/java/org/apache/gravitino/catalog/TestTopicOperationDispatcher.java
+++
b/core/src/test/java/org/apache/gravitino/catalog/TestTopicOperationDispatcher.java
@@ -76,7 +76,7 @@ public class TestTopicOperationDispatcher extends
TestOperationDispatcher {
doReturn(36000L).when(config).get(TREE_LOCK_CLEAN_INTERVAL);
FieldUtils.writeField(GravitinoEnv.getInstance(), "lockManager", new
LockManager(config), true);
FieldUtils.writeField(
- GravitinoEnv.getInstance(), "schemaDispatcher",
schemaOperationDispatcher, true);
+ GravitinoEnv.getInstance(), "internalSchemaDispatcher",
schemaOperationDispatcher, true);
}
@Test
diff --git
a/core/src/test/java/org/apache/gravitino/catalog/TestViewOperationDispatcher.java
b/core/src/test/java/org/apache/gravitino/catalog/TestViewOperationDispatcher.java
index 7f75fe1984..8f5b0403f1 100644
---
a/core/src/test/java/org/apache/gravitino/catalog/TestViewOperationDispatcher.java
+++
b/core/src/test/java/org/apache/gravitino/catalog/TestViewOperationDispatcher.java
@@ -73,7 +73,9 @@ public class TestViewOperationDispatcher extends
TestOperationDispatcher {
public static void initialize() throws IOException, IllegalAccessException {
schemaOperationDispatcher =
new SchemaOperationDispatcher(catalogManager, entityStore,
idGenerator);
- viewOperationDispatcher = new ViewOperationDispatcher(catalogManager,
entityStore, idGenerator);
+ viewOperationDispatcher =
+ new ViewOperationDispatcher(
+ catalogManager, entityStore, idGenerator, () ->
schemaOperationDispatcher);
Config config = mock(Config.class);
doReturn(100000L).when(config).get(TREE_LOCK_MAX_NODE_IN_MEMORY);
@@ -81,7 +83,7 @@ public class TestViewOperationDispatcher extends
TestOperationDispatcher {
doReturn(36000L).when(config).get(TREE_LOCK_CLEAN_INTERVAL);
FieldUtils.writeField(GravitinoEnv.getInstance(), "lockManager", new
LockManager(config), true);
FieldUtils.writeField(
- GravitinoEnv.getInstance(), "schemaDispatcher",
schemaOperationDispatcher, true);
+ GravitinoEnv.getInstance(), "internalSchemaDispatcher",
schemaOperationDispatcher, true);
}
public static ViewOperationDispatcher getViewOperationDispatcher() {
diff --git
a/iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/service/provider/TestDynamicIcebergConfigProvider.java
b/iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/service/provider/TestDynamicIcebergConfigProvider.java
index 93f5be1b5f..d5b2024152 100644
---
a/iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/service/provider/TestDynamicIcebergConfigProvider.java
+++
b/iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/service/provider/TestDynamicIcebergConfigProvider.java
@@ -62,7 +62,6 @@ public class TestDynamicIcebergConfigProvider {
@AfterEach
public void tearDown() throws IllegalAccessException {
// Clean up GravitinoEnv and IcebergRESTServerContext state after each test
- FieldUtils.writeField(GravitinoEnv.getInstance(), "catalogDispatcher",
null, true);
FieldUtils.writeField(GravitinoEnv.getInstance(),
"internalCatalogDispatcher", null, true);
resetServerContext();
}
@@ -371,7 +370,6 @@ public class TestDynamicIcebergConfigProvider {
createMockServerContext(true);
// Ensure internal CatalogDispatcher is null (simulating GravitinoEnv not
initialized)
- FieldUtils.writeField(GravitinoEnv.getInstance(), "catalogDispatcher",
null, true);
FieldUtils.writeField(GravitinoEnv.getInstance(),
"internalCatalogDispatcher", null, true);
// Initialize provider with required properties