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

roryqi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 0599ee192e [#9747][followup]feat(IRC): pass jdbc-schema-version config 
property to iceberg (#10085)
0599ee192e is described below

commit 0599ee192ee7b991403220f1d8b07b4699cabc63
Author: Bharath Krishna <[email protected]>
AuthorDate: Mon Mar 2 07:43:54 2026 +0530

    [#9747][followup]feat(IRC): pass jdbc-schema-version config property to 
iceberg (#10085)
    
    ### What changes were proposed in this pull request?
    
    IcebergPropertiesUtils.toIcebergCatalogProperties() maps Gravitino
    config
    keys to their Iceberg counterparts. The jdbc-schema-version property
    (Gravitino key: 'jdbc-schema-version', Iceberg key:
    'jdbc.schema-version')
    was missing from the mapping
    
    ### Why are the changes needed?
    
    Gravitino catalog config was silently ignored and never reached the
    underlying
    JdbcCatalog. Without jdbc.schema-version=V1 the JDBC catalog does not
    support
    view operations, causing UnsupportedOperationException on viewExists().
    
    
    Fix: #(issue)
    
    ### Does this PR introduce _any_ user-facing change?
    
    no
    
    ### How was this patch tested?
    
    unit tests
---
 .../catalog/lakehouse/iceberg/IcebergConstants.java          |  3 +++
 .../catalog/lakehouse/iceberg/IcebergPropertiesUtils.java    |  3 +++
 .../lakehouse/iceberg/TestIcebergPropertiesUtils.java        | 12 ++++++++++++
 3 files changed, 18 insertions(+)

diff --git 
a/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergConstants.java
 
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergConstants.java
index dbc3d858c8..d40f3dd8dd 100644
--- 
a/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergConstants.java
+++ 
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergConstants.java
@@ -31,6 +31,9 @@ public class IcebergConstants {
   public static final String ICEBERG_JDBC_PASSWORD = "jdbc.password";
   public static final String ICEBERG_JDBC_INITIALIZE = "jdbc-initialize";
 
+  public static final String GRAVITINO_JDBC_SCHEMA_VERSION = 
"jdbc-schema-version";
+  public static final String ICEBERG_JDBC_SCHEMA_VERSION = 
"jdbc.schema-version";
+
   public static final String GRAVITINO_JDBC_DRIVER = "jdbc-driver";
   public static final String WAREHOUSE = "warehouse";
   public static final String URI = "uri";
diff --git 
a/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergPropertiesUtils.java
 
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergPropertiesUtils.java
index 48c24e7b8c..854b5f8b6c 100644
--- 
a/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergPropertiesUtils.java
+++ 
b/catalogs/catalog-common/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/IcebergPropertiesUtils.java
@@ -42,6 +42,9 @@ public class IcebergPropertiesUtils {
     map.put(IcebergConstants.GRAVITINO_JDBC_DRIVER, 
IcebergConstants.GRAVITINO_JDBC_DRIVER);
     map.put(IcebergConstants.GRAVITINO_JDBC_USER, 
IcebergConstants.ICEBERG_JDBC_USER);
     map.put(IcebergConstants.GRAVITINO_JDBC_PASSWORD, 
IcebergConstants.ICEBERG_JDBC_PASSWORD);
+    map.put(
+        IcebergConstants.GRAVITINO_JDBC_SCHEMA_VERSION,
+        IcebergConstants.ICEBERG_JDBC_SCHEMA_VERSION);
     map.put(IcebergConstants.URI, IcebergConstants.URI);
     map.put(IcebergConstants.WAREHOUSE, IcebergConstants.WAREHOUSE);
     map.put(IcebergConstants.CATALOG_BACKEND_NAME, 
IcebergConstants.CATALOG_BACKEND_NAME);
diff --git 
a/catalogs/catalog-common/src/test/java/org/apache/gravitino/lakehouse/iceberg/TestIcebergPropertiesUtils.java
 
b/catalogs/catalog-common/src/test/java/org/apache/gravitino/lakehouse/iceberg/TestIcebergPropertiesUtils.java
index b8efe974de..a02a750a95 100644
--- 
a/catalogs/catalog-common/src/test/java/org/apache/gravitino/lakehouse/iceberg/TestIcebergPropertiesUtils.java
+++ 
b/catalogs/catalog-common/src/test/java/org/apache/gravitino/lakehouse/iceberg/TestIcebergPropertiesUtils.java
@@ -28,6 +28,18 @@ import org.junit.jupiter.api.Test;
 
 public class TestIcebergPropertiesUtils {
 
+  @Test
+  void testJdbcSchemaVersionPropertyIsMapped() {
+    Map<String, String> gravitinoProps =
+        ImmutableMap.of(IcebergConstants.GRAVITINO_JDBC_SCHEMA_VERSION, "V1");
+    Map<String, String> icebergProps =
+        IcebergPropertiesUtils.toIcebergCatalogProperties(gravitinoProps);
+    Assertions.assertEquals(
+        "V1",
+        icebergProps.get(IcebergConstants.ICEBERG_JDBC_SCHEMA_VERSION),
+        "jdbc-schema-version must be translated to jdbc.schema-version for 
Iceberg");
+  }
+
   @Test
   void testGetCatalogBackendName() {
     Map<String, String> catalogProperties =

Reply via email to