This is an automated email from the ASF dual-hosted git repository.

leaves12138 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new 1b57cea5b8 [rest] Preserve custom catalog for dependency reads (#8912)
1b57cea5b8 is described below

commit 1b57cea5b88e38fcab1a472fddedc71b87cc1872
Author: YeJunHao <[email protected]>
AuthorDate: Wed Jul 29 23:50:17 2026 +0800

    [rest] Preserve custom catalog for dependency reads (#8912)
---
 .../java/org/apache/paimon/table/CatalogEnvironment.java    |  4 +++-
 .../org/apache/paimon/table/CatalogEnvironmentTest.java     | 13 +++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/paimon-core/src/main/java/org/apache/paimon/table/CatalogEnvironment.java 
b/paimon-core/src/main/java/org/apache/paimon/table/CatalogEnvironment.java
index 5f75b7d0e5..66979ba811 100644
--- a/paimon-core/src/main/java/org/apache/paimon/table/CatalogEnvironment.java
+++ b/paimon-core/src/main/java/org/apache/paimon/table/CatalogEnvironment.java
@@ -232,7 +232,9 @@ public class CatalogEnvironment implements Serializable {
         }
 
         Options dependencyOptions = new Options(options.toMap());
-        dependencyOptions.set(METASTORE, RESTCatalogFactory.IDENTIFIER);
+        if (!dependencyOptions.contains(METASTORE)) {
+            dependencyOptions.set(METASTORE, RESTCatalogFactory.IDENTIFIER);
+        }
         dependencyOptions.set(
                 READ_VIA_OPTION, 
RESTUtil.encodeString(JsonSerdeUtil.toFlatJson(identifier)));
         return CatalogContext.create(
diff --git 
a/paimon-core/src/test/java/org/apache/paimon/table/CatalogEnvironmentTest.java 
b/paimon-core/src/test/java/org/apache/paimon/table/CatalogEnvironmentTest.java
index 77cc90788e..011975188c 100644
--- 
a/paimon-core/src/test/java/org/apache/paimon/table/CatalogEnvironmentTest.java
+++ 
b/paimon-core/src/test/java/org/apache/paimon/table/CatalogEnvironmentTest.java
@@ -103,6 +103,19 @@ class CatalogEnvironmentTest {
         assertThat(environment.dependencyReadContext()).isNotSameAs(context);
     }
 
+    @Test
+    void testDependencyReadContextPreservesCustomRestMetastore() {
+        Options options = new Options();
+        options.set(METASTORE, "custom-rest");
+        CatalogContext context = CatalogContext.create(options);
+        CatalogEnvironment environment = 
restEnvironment(Identifier.create("db", "table"), context);
+
+        CatalogContext dependencyContext = environment.dependencyReadContext();
+
+        assertThat(dependencyContext).isNotSameAs(context);
+        
assertThat(dependencyContext.options().get(METASTORE)).isEqualTo("custom-rest");
+    }
+
     @Test
     void testAppendTableUsesDependencyReadContext() {
         CatalogEnvironment environment = mock(CatalogEnvironment.class);

Reply via email to