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

diqiu50 pushed a commit to branch dell-1.3
in repository https://gitbox.apache.org/repos/asf/gravitino.git

commit 13969fdcf9177b076260c79d6d8a684efc62689b
Author: diqiu50 <[email protected]>
AuthorDate: Sat Aug 22 20:27:06 2026 +0800

    [Cherry-pick to branch-1.3] [#12554] improvement(trino-connector): Drop 
Trino 435-439 support
    
    The Iceberg REST routing sets 
iceberg.rest-catalog.vended-credentials-enabled,
    which Trino only recognizes from 439 onwards. Trino rejects unknown catalog
    properties outright, so 435-438 would fail to load every lakehouse-iceberg
    catalog. Raise the minimum supported version to 440 and remove the
    trino-connector-435-439 module.
    
    (cherry picked from commit c4b3162a8798439ebb11879eb90d835f204e09be)
---
 .github/workflows/trino-multi-version-test.yml     |   6 -
 build.gradle.kts                                   |   1 -
 docs/trino-connector/configuration.md              |   4 +-
 docs/trino-connector/development.md                |   3 -
 docs/trino-connector/installation.md               |   1 -
 docs/trino-connector/requirements.md               |   2 +-
 settings.gradle.kts                                |   1 -
 trino-connector/integration-test/build.gradle.kts  |   1 -
 .../integration/test/TrinoQueryTestTool.java       |   4 +-
 .../trino-test-tools/run_test_with_versions.sh     |   8 +-
 .../trino-cascading-env/docker-compose.yaml        |   4 +-
 .../trino-connector-435-439/build.gradle.kts       | 162 ---------------------
 .../trino/connector/GravitinoConnector435.java     |  55 -------
 .../connector/GravitinoConnectorFactory435.java    |  52 -------
 .../trino/connector/GravitinoMetadata435.java      | 120 ---------------
 .../GravitinoNodePartitioningProvider435.java      |  30 ----
 .../trino/connector/GravitinoPlugin435.java        |  38 -----
 .../trino/connector/GravitinoSplitManager435.java  |  66 ---------
 .../connector/GravitinoSystemConnector435.java     |  87 -----------
 .../META-INF/services/io.trino.spi.Plugin          |  19 ---
 .../src/test/java/TestGravitinoConnector435.java   |  59 --------
 .../gravitino/trino/connector/GravitinoConfig.java |   2 +-
 .../trino/connector/GravitinoConnectorFactory.java |   2 +-
 23 files changed, 13 insertions(+), 714 deletions(-)

diff --git a/.github/workflows/trino-multi-version-test.yml 
b/.github/workflows/trino-multi-version-test.yml
index a509d4e185..6cf4484f07 100644
--- a/.github/workflows/trino-multi-version-test.yml
+++ b/.github/workflows/trino-multi-version-test.yml
@@ -79,12 +79,6 @@ jobs:
             --auto=all --auto_patch --trino_version=440 \
             --trino_connector_dir=${{ env.CONNECTOR_DIR 
}}/trino-connector-440-445/build/libs
 
-      - name: Test Trino 435
-        run: |
-          
trino-connector/integration-test/trino-test-tools/trino_integration_test.sh \
-            --auto=all --auto_patch --trino_version=435 \
-            --trino_connector_dir=${{ env.CONNECTOR_DIR 
}}/trino-connector-435-439/build/libs
-
       - name: Upload test reports
         uses: actions/upload-artifact@v7
         if: failure()
diff --git a/build.gradle.kts b/build.gradle.kts
index a62a0ea857..08a0128000 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1004,7 +1004,6 @@ tasks {
   val assembleDistribution by registering(Tar::class) {
     dependsOn(
       compileDistribution,
-      ":trino-connector:trino-connector-435-439:assembleTrinoConnector",
       ":trino-connector:trino-connector-440-445:assembleTrinoConnector",
       ":trino-connector:trino-connector-446-451:assembleTrinoConnector",
       ":trino-connector:trino-connector-452-468:assembleTrinoConnector",
diff --git a/docs/trino-connector/configuration.md 
b/docs/trino-connector/configuration.md
index 0436de81c5..1d756be8de 100644
--- a/docs/trino-connector/configuration.md
+++ b/docs/trino-connector/configuration.md
@@ -25,7 +25,7 @@ license: "This software is licensed under the Apache License 
version 2."
 | trino.jdbc.roles                            | string  | (none)               
 | Session roles applied to the internal JDBC connection, for example 
`system:sysadmin`. Required by deployments that only allow `CREATE CATALOG` 
with a privileged role.                                                         
                                                                                
                                  | No       |
 | trino.jdbc.properties.                      | string  | (none)               
 | The configuration key prefix for raw Trino JDBC driver properties, see 
[Connecting to a TLS-enabled 
coordinator](#connecting-to-a-tls-enabled-coordinator).                         
                                                                                
                                                                             | 
No       |
 | gravitino.metadata.refresh-interval-seconds | integer | 10                   
 | The `gravitino.metadata.refresh-interval-seconds` defines the interval in 
seconds to refresh metadata from Gravitino server, the default value is 10 
seconds.                                                                        
                                                                                
                            | No       |
-| gravitino.trino.skip-version-validation     | boolean | false                
 | The `gravitino.trino.skip-version-validation` defines whether to skip Trino 
version validation. Gravitino supports Trino versions between 435 and 478. If 
this option is `true`, unsupported Trino versions can still be used, but 
compatibility is not guaranteed.                                                
                              | No       |
+| gravitino.trino.skip-version-validation     | boolean | false                
 | The `gravitino.trino.skip-version-validation` defines whether to skip Trino 
version validation. Gravitino supports Trino versions between 440 and 478. If 
this option is `true`, unsupported Trino versions can still be used, but 
compatibility is not guaranteed.                                                
                              | No       |
 | gravitino.client.                           | string  | (none)               
 | The configuration key prefix for the Gravitino client config.                
                                                                                
                                                                                
                                                                                
                    | No       |
 | gravitino.trino.skip-catalog-patterns       | string  | (none)               
 | The `gravitino.trino.skip-catalog-patterns` defines a comma-separated list 
of catalog name regex patterns that should be excluded from loading. For 
example, `test_.*, .*_tmp` excludes all catalogs starting with `test_` or 
ending with `_tmp`.                                                             
                                   | No       |
 | gravitino.use-single-metalake               | boolean | true                 
 | If `true`, only one metalake is used and catalogs are identified by 
`<catalog_name>`. If `false`, multi-metalake mode is enabled and catalogs are 
identified by `<metalake_name>.<catalog_name>`.                                 
                                                                                
                               | No       |
@@ -45,7 +45,7 @@ or set `gravitino.iceberg.rest-enabled=false` to keep the 
previous behavior. See
 [Iceberg catalog](./catalog-iceberg.md#how-trino-reaches-the-catalog).
 :::
 
-Multi-metalake mode (`gravitino.use-single-metalake=false`) is supported on 
Trino connector versions 435-445 and 469-478. On versions 446-468, a warning is 
logged and the connector initializes, but the mode is not fully supported and 
some operations may fail.
+Multi-metalake mode (`gravitino.use-single-metalake=false`) is supported on 
Trino connector versions 440-445 and 469-478. On versions 446-468, a warning is 
logged and the connector initializes, but the mode is not fully supported and 
some operations may fail.
 
 ## Connecting to a TLS-enabled coordinator
 
diff --git a/docs/trino-connector/development.md 
b/docs/trino-connector/development.md
index 5120955a77..a23ce1af19 100644
--- a/docs/trino-connector/development.md
+++ b/docs/trino-connector/development.md
@@ -17,8 +17,6 @@ The Gravitino Trino connector supports multiple Trino 
versions (see [Requirement
 trino-connector/
 ├── trino-connector/              # Shared base source code
 │   └── src/main/java/            # Common implementation used by all versions
-├── trino-connector-435-439/      # Version-specific adapters for Trino 435-439
-│   └── src/main/java/
 ├── trino-connector-440-445/      # Version-specific adapters for Trino 440-445
 │   └── src/main/java/
 ├── trino-connector-446-451/      # Version-specific adapters for Trino 446-451
@@ -71,7 +69,6 @@ Change `localhost`, `port`, and the names of metalake and 
catalogs to match your
 
    | Trino Version | Version-Segment Module    |
    |---------------|---------------------------|
-   | 435-439       | `trino-connector-435-439` |
    | 440-445       | `trino-connector-440-445` |
    | 446-451       | `trino-connector-446-451` |
    | 452-468       | `trino-connector-452-468` |
diff --git a/docs/trino-connector/installation.md 
b/docs/trino-connector/installation.md
index d39b200ee3..8df3373edb 100644
--- a/docs/trino-connector/installation.md
+++ b/docs/trino-connector/installation.md
@@ -19,7 +19,6 @@ Choose the package by your Trino server version first.
 
 | Trino server version | Connector package segment |
 |----------------------|---------------------------|
-| 435-439              | `trino-connector-435-439` |
 | 440-445              | `trino-connector-440-445` |
 | 446-451              | `trino-connector-446-451` |
 | 452-468              | `trino-connector-452-468` |
diff --git a/docs/trino-connector/requirements.md 
b/docs/trino-connector/requirements.md
index 0c5bb61da4..9224e327d1 100644
--- a/docs/trino-connector/requirements.md
+++ b/docs/trino-connector/requirements.md
@@ -9,7 +9,7 @@ license: "This software is licensed under the Apache License 
version 2."
 
 To install and deploy the Apache Gravitino Trino connector, the following 
environmental setup is necessary:
 
-- Trino server version should be between Trino-server-435 and Trino-server-478.
+- Trino server version should be between Trino-server-440 and Trino-server-478.
   The examples in this document use Trino `469` by default.
 - If you use an unsupported Trino version, you can set 
`gravitino.trino.skip-version-validation` to `true`.
   Unsupported versions have not undergone thorough testing.
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e49a0e4d11..d10537e9a2 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -75,7 +75,6 @@ val skipTrinoConnector: Boolean =
 if (!skipTrinoConnector) {
   include(
     "trino-connector:trino-connector",
-    "trino-connector:trino-connector-435-439",
     "trino-connector:trino-connector-440-445",
     "trino-connector:trino-connector-446-451",
     "trino-connector:trino-connector-452-468",
diff --git a/trino-connector/integration-test/build.gradle.kts 
b/trino-connector/integration-test/build.gradle.kts
index c48e9719bf..8264535b6c 100644
--- a/trino-connector/integration-test/build.gradle.kts
+++ b/trino-connector/integration-test/build.gradle.kts
@@ -83,7 +83,6 @@ dependencies {
 }
 
 tasks.register("setupDependencies") {
-  dependsOn(":trino-connector:trino-connector-435-439:copyLibs")
   dependsOn(":trino-connector:trino-connector-440-445:copyLibs")
   dependsOn(":trino-connector:trino-connector-446-451:copyLibs")
   dependsOn(":trino-connector:trino-connector-452-468:copyLibs")
diff --git 
a/trino-connector/integration-test/src/test/java/org/apache/gravitino/trino/connector/integration/test/TrinoQueryTestTool.java
 
b/trino-connector/integration-test/src/test/java/org/apache/gravitino/trino/connector/integration/test/TrinoQueryTestTool.java
index e97843c5df..c0f62d5816 100644
--- 
a/trino-connector/integration-test/src/test/java/org/apache/gravitino/trino/connector/integration/test/TrinoQueryTestTool.java
+++ 
b/trino-connector/integration-test/src/test/java/org/apache/gravitino/trino/connector/integration/test/TrinoQueryTestTool.java
@@ -99,7 +99,7 @@ public class TrinoQueryTestTool {
               + "otherwise fall back to a single-node setup with combined 
coordinator-worker roles.");
 
       options.addOption(
-          "trino_version", true, "Specify the Trino version to test, the 
default value is 435.");
+          "trino_version", true, "Specify the Trino version to test, the 
default value is 440.");
 
       options.addOption(
           "trino_connector_dir",
@@ -128,7 +128,7 @@ public class TrinoQueryTestTool {
                 + "Run all the testers in the 'testsets' directory with a 
distributed cluster:\n"
                 + "TrinoTestTool --auto=all --trino_worker_num=3\n\n"
                 + "Run all the testers in the 'testsets' directory with 
specific trino version:\n"
-                + "TrinoTestTool --auto=all --trino_version=435\n\n"
+                + "TrinoTestTool --auto=all --trino_version=440\n\n"
                 + "Run all the testers in the 'testsets' directory with 
specific trino connector JAR files:\n"
                 + "TrinoTestTool --auto=all 
--trino_connector_dir=./trino-connector/libs\n\n"
                 + "Run all the tpch testset's testers in the 'testsets/tpch' 
directory:\n"
diff --git 
a/trino-connector/integration-test/trino-test-tools/run_test_with_versions.sh 
b/trino-connector/integration-test/trino-test-tools/run_test_with_versions.sh
index 2dd6359acb..64c05a2664 100755
--- 
a/trino-connector/integration-test/trino-test-tools/run_test_with_versions.sh
+++ 
b/trino-connector/integration-test/trino-test-tools/run_test_with_versions.sh
@@ -23,16 +23,16 @@
 #
 # Arguments:
 # --trino_versions_map: Space-separated list of "version:module" pairs.
-#                       Defaults to "435:trino-connector" if not provided.
+#                       Defaults to "440:trino-connector" if not provided.
 # --trino_test_args:    Arguments passed directly to the underlying test 
script.
 #
 # Example:
 # ./run_test_with_versions.sh \
-#   --trino_versions_map="435:trino-connector 478:trino-connector-470-478" \
+#   --trino_versions_map="440:trino-connector 478:trino-connector-470-478" \
 #   --trino_test_args="--auto=all"
 #
 # This configuration will run tests for:
-# - Trino 435 using the connector in 'trino-connector' directory
+# - Trino 440 using the connector in 'trino-connector' directory
 # - Trino 478 using the connector in 'trino-connector-470-478' directory
 # And pass "--auto=all" to the underlying test script for each version.
 
@@ -64,7 +64,7 @@ while [[ $# -gt 0 ]]; do
 done
 
 if [ -z "$trino_versions_map" ]; then
-  trino_versions_map="435:trino-connector"
+  trino_versions_map="440:trino-connector"
 fi
 
 for entry in $trino_versions_map; do
diff --git 
a/trino-connector/integration-test/trino-test-tools/trino-cascading-env/docker-compose.yaml
 
b/trino-connector/integration-test/trino-test-tools/trino-cascading-env/docker-compose.yaml
index 54091d4d62..38e9f40861 100644
--- 
a/trino-connector/integration-test/trino-test-tools/trino-cascading-env/docker-compose.yaml
+++ 
b/trino-connector/integration-test/trino-test-tools/trino-cascading-env/docker-compose.yaml
@@ -79,7 +79,7 @@ services:
       start_period: 30s
 
   trino-remote:
-    image: trinodb/trino:435
+    image: trinodb/trino:440
     networks:
       - trino-net
     container_name: trino-ci-trino-remote
@@ -110,7 +110,7 @@ services:
         condition: service_healthy
 
   trino-local:
-    image: trinodb/trino:435
+    image: trinodb/trino:440
     networks:
       - trino-net
     container_name: trino-ci-trino-local
diff --git a/trino-connector/trino-connector-435-439/build.gradle.kts 
b/trino-connector/trino-connector-435-439/build.gradle.kts
deleted file mode 100644
index befe0343a7..0000000000
--- a/trino-connector/trino-connector-435-439/build.gradle.kts
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import com.diffplug.gradle.spotless.SpotlessExtension
-import net.ltgt.gradle.errorprone.errorprone
-import org.gradle.internal.hash.ChecksumService
-import org.gradle.kotlin.dsl.support.serviceOf
-
-plugins {
-  `java-library`
-  `maven-publish`
-}
-
-// This module supports Trino versions 435-439
-val minTrinoVersion = 435
-val maxTrinoVersion = 439
-
-val trinoVersion = providers.gradleProperty("trinoVersion")
-  .map { it.trim().toInt() }
-  .orElse(minTrinoVersion)
-  .get()
-
-// Validate version range
-check(trinoVersion in minTrinoVersion..maxTrinoVersion) {
-  "Module ${project.path} supports Trino versions 
$minTrinoVersion-$maxTrinoVersion, " +
-    "but trinoVersion=$trinoVersion was specified. " +
-    "Please set '-PtrinoVersion=$minTrinoVersion' (or any version in the 
supported range)."
-}
-
-java {
-  toolchain.languageVersion.set(JavaLanguageVersion.of(24))
-}
-
-dependencies {
-  implementation(project(":catalogs:catalog-common"))
-  implementation(project(":clients:client-java-runtime", configuration = 
"shadow"))
-  implementation(libs.airlift.json)
-  implementation(libs.bundles.log4j)
-  implementation(libs.commons.collections4)
-  implementation(libs.commons.lang3)
-  implementation("io.trino:trino-jdbc:$trinoVersion")
-  compileOnly(libs.airlift.resolver)
-  compileOnly("io.trino:trino-spi:$trinoVersion") {
-    exclude("org.apache.logging.log4j")
-  }
-  testImplementation(libs.awaitility)
-  testImplementation(libs.mockito.core)
-  testImplementation(libs.mysql.driver)
-  testImplementation("io.trino:trino-memory:$trinoVersion") {
-    exclude("org.antlr")
-    exclude("org.apache.logging.log4j")
-  }
-  testImplementation("io.trino:trino-testing:$trinoVersion") {
-    exclude("org.apache.logging.log4j")
-  }
-  testRuntimeOnly(libs.junit.jupiter.engine)
-}
-
-sourceSets {
-  main {
-    java.srcDirs("../trino-connector/src/main/java")
-  }
-  test {
-    java.srcDirs("../trino-connector/src/test/java")
-    resources.srcDirs("../trino-connector/src/test/resources")
-  }
-}
-
-plugins.withId("com.diffplug.spotless") {
-  configure<SpotlessExtension> {
-    java {
-      // Keep Spotless within this module to avoid cross-project target errors.
-      target(project.fileTree("src") { include("**/*.java") })
-    }
-  }
-}
-
-tasks.withType<JavaCompile>().configureEach {
-  // Error Prone is incompatible with the JDK 24 toolchain required by this 
Trino range.
-  options.errorprone.isEnabled.set(false)
-  options.release.set(17)
-}
-
-tasks.withType<Test>().configureEach {
-  extensions
-    
.findByType(org.gradle.testing.jacoco.plugins.JacocoTaskExtension::class.java)
-    ?.isEnabled = false
-}
-
-tasks {
-  val copyRuntimeLibs by registering(Copy::class) {
-    dependsOn("jar")
-    from({ configurations.runtimeClasspath.get().filter(File::isFile) })
-    into(layout.buildDirectory.dir("libs"))
-  }
-
-  val distributionDir = 
rootProject.layout.projectDirectory.dir("distribution/${rootProject.name}-${project.name}")
-
-  val copyLibs by registering(Copy::class) {
-    dependsOn(copyRuntimeLibs, "build")
-    from(layout.buildDirectory.dir("libs"))
-    from(rootProject.layout.projectDirectory.dir("licenses")) {
-      into("licenses")
-    }
-    from(rootProject.file("LICENSE.trino"))
-    from(rootProject.file("NOTICE.trino"))
-    from(rootProject.file("README.md"))
-    into(distributionDir)
-    rename { fileName ->
-      fileName.replace(".trino", "")
-    }
-    outputs.dir(distributionDir)
-  }
-
-  val assembleTrinoConnector by registering(Tar::class) {
-    dependsOn(copyLibs)
-    group = "gravitino distribution"
-    finalizedBy("checksumTrinoConnector")
-    val archiveBase = "${rootProject.name}-${project.name}-$version"
-    into(archiveBase)
-    from(distributionDir)
-    compression = Compression.GZIP
-    archiveFileName.set("$archiveBase.tar.gz")
-    
destinationDirectory.set(rootProject.layout.projectDirectory.dir("distribution"))
-  }
-
-  val checksumTrinoConnector by registering {
-    group = "gravitino distribution"
-    dependsOn(assembleTrinoConnector)
-    val archiveFile = assembleTrinoConnector.flatMap { it.archiveFile }
-    val checksumFile = archiveFile.map { archive ->
-      archive.asFile.let { it.resolveSibling("${it.name}.sha256") }
-    }
-    inputs.file(archiveFile)
-    outputs.file(checksumFile)
-    doLast {
-      checksumFile.get().writeText(
-        
serviceOf<ChecksumService>().sha256(archiveFile.get().asFile).toString()
-      )
-    }
-  }
-
-  named("build") {
-    finalizedBy(copyRuntimeLibs)
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnector435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnector435.java
deleted file mode 100644
index 9d6dc932d4..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnector435.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import io.trino.spi.connector.ConnectorMetadata;
-import io.trino.spi.connector.ConnectorNodePartitioningProvider;
-import io.trino.spi.connector.ConnectorSplitManager;
-import org.apache.gravitino.trino.connector.catalog.CatalogConnectorContext;
-import org.apache.gravitino.trino.connector.catalog.CatalogConnectorMetadata;
-import 
org.apache.gravitino.trino.connector.catalog.CatalogConnectorMetadataAdapter;
-
-public class GravitinoConnector435 extends GravitinoConnector {
-
-  public GravitinoConnector435(CatalogConnectorContext connectorContext) {
-    super(connectorContext);
-  }
-
-  @Override
-  protected GravitinoMetadata createGravitinoMetadata(
-      CatalogConnectorMetadata catalogConnectorMetadata,
-      CatalogConnectorMetadataAdapter metadataAdapter,
-      ConnectorMetadata internalMetadata) {
-    return new GravitinoMetadata435(catalogConnectorMetadata, metadataAdapter, 
internalMetadata);
-  }
-
-  @Override
-  public ConnectorSplitManager getSplitManager() {
-    ConnectorSplitManager splitManager =
-        catalogConnectorContext.getInternalConnector().getSplitManager();
-    return new GravitinoSplitManager435(splitManager);
-  }
-
-  @Override
-  public ConnectorNodePartitioningProvider getNodePartitioningProvider() {
-    ConnectorNodePartitioningProvider nodePartitioningProvider =
-        
catalogConnectorContext.getInternalConnector().getNodePartitioningProvider();
-    return new GravitinoNodePartitioningProvider435(nodePartitioningProvider);
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory435.java
deleted file mode 100644
index 2ac78816ce..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory435.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import org.apache.gravitino.client.GravitinoAdminClient;
-import org.apache.gravitino.trino.connector.catalog.CatalogConnectorContext;
-import org.apache.gravitino.trino.connector.system.GravitinoSystemConnector;
-import 
org.apache.gravitino.trino.connector.system.storedprocedure.GravitinoStoredProcedureFactory;
-
-public class GravitinoConnectorFactory435 extends GravitinoConnectorFactory {
-
-  public GravitinoConnectorFactory435(GravitinoAdminClient client) {
-    super(client);
-  }
-
-  @Override
-  protected int getMinSupportTrinoSpiVersion() {
-    return 435;
-  }
-
-  @Override
-  protected int getMaxSupportTrinoSpiVersion() {
-    return 439;
-  }
-
-  @Override
-  protected GravitinoConnector createConnector(CatalogConnectorContext 
connectorContext) {
-    return new GravitinoConnector435(connectorContext);
-  }
-
-  @Override
-  protected GravitinoSystemConnector createSystemConnector(
-      GravitinoStoredProcedureFactory storedProcedureFactory) {
-    return new GravitinoSystemConnector435(storedProcedureFactory);
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoMetadata435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoMetadata435.java
deleted file mode 100644
index e6b8ff0db6..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoMetadata435.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import io.airlift.slice.Slice;
-import io.trino.spi.connector.ColumnMetadata;
-import io.trino.spi.connector.ConnectorInsertTableHandle;
-import io.trino.spi.connector.ConnectorMergeTableHandle;
-import io.trino.spi.connector.ConnectorOutputMetadata;
-import io.trino.spi.connector.ConnectorOutputTableHandle;
-import io.trino.spi.connector.ConnectorSession;
-import io.trino.spi.connector.ConnectorTableExecuteHandle;
-import io.trino.spi.connector.ConnectorTableHandle;
-import io.trino.spi.connector.RetryMode;
-import io.trino.spi.connector.SchemaTableName;
-import io.trino.spi.statistics.ComputedStatistics;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Optional;
-import org.apache.gravitino.trino.connector.catalog.CatalogConnectorMetadata;
-import 
org.apache.gravitino.trino.connector.catalog.CatalogConnectorMetadataAdapter;
-import org.apache.gravitino.trino.connector.metadata.GravitinoColumn;
-
-public class GravitinoMetadata435 extends GravitinoMetadata {
-
-  public GravitinoMetadata435(
-      CatalogConnectorMetadata catalogConnectorMetadata,
-      CatalogConnectorMetadataAdapter metadataAdapter,
-      io.trino.spi.connector.ConnectorMetadata internalMetadata) {
-    super(catalogConnectorMetadata, metadataAdapter, internalMetadata);
-  }
-
-  @Override
-  public void addColumn(
-      ConnectorSession session, ConnectorTableHandle tableHandle, 
ColumnMetadata column) {
-    GravitinoColumn gravitinoColumn = metadataAdapter.createColumn(column);
-    catalogConnectorMetadata.addColumn(getTableName(tableHandle), 
gravitinoColumn);
-  }
-
-  @Override
-  public Optional<ConnectorTableExecuteHandle> getTableHandleForExecute(
-      ConnectorSession session,
-      ConnectorTableHandle tableHandle,
-      String procedureName,
-      Map<String, Object> executeProperties,
-      RetryMode retryMode) {
-    return internalMetadata
-        .getTableHandleForExecute(
-            session,
-            GravitinoHandle.unWrap(tableHandle),
-            procedureName,
-            executeProperties,
-            retryMode)
-        .map(GravitinoTableExecuteHandle::new);
-  }
-
-  @Override
-  public void executeTableExecute(
-      ConnectorSession session, ConnectorTableExecuteHandle 
tableExecuteHandle) {
-    internalMetadata.executeTableExecute(session, 
GravitinoHandle.unWrap(tableExecuteHandle));
-  }
-
-  @Override
-  public Optional<ConnectorOutputMetadata> finishInsert(
-      ConnectorSession session,
-      ConnectorInsertTableHandle insertHandle,
-      Collection<Slice> fragments,
-      Collection<ComputedStatistics> computedStatistics) {
-    return internalMetadata.finishInsert(
-        session, GravitinoHandle.unWrap(insertHandle), fragments, 
computedStatistics);
-  }
-
-  @Override
-  public Optional<ConnectorOutputMetadata> finishCreateTable(
-      ConnectorSession session,
-      ConnectorOutputTableHandle tableHandle,
-      Collection<Slice> fragments,
-      Collection<ComputedStatistics> computedStatistics) {
-    ConnectorInsertTableHandle insertHandle =
-        ((GravitinoOutputTableHandle) tableHandle).getInternalHandle();
-    return internalMetadata.finishInsert(session, insertHandle, fragments, 
computedStatistics);
-  }
-
-  @Override
-  public ConnectorMergeTableHandle beginMerge(
-      ConnectorSession session, ConnectorTableHandle tableHandle, RetryMode 
retryMode) {
-    ConnectorMergeTableHandle connectorMergeTableHandle =
-        internalMetadata.beginMerge(session, 
GravitinoHandle.unWrap(tableHandle), retryMode);
-    SchemaTableName tableName = getTableName(tableHandle);
-
-    return new GravitinoMergeTableHandle(
-        tableName.getSchemaName(), tableName.getTableName(), 
connectorMergeTableHandle);
-  }
-
-  @Override
-  public void finishMerge(
-      ConnectorSession session,
-      ConnectorMergeTableHandle mergeTableHandle,
-      Collection<Slice> fragments,
-      Collection<ComputedStatistics> computedStatistics) {
-    internalMetadata.finishMerge(
-        session, GravitinoHandle.unWrap(mergeTableHandle), fragments, 
computedStatistics);
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoNodePartitioningProvider435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoNodePartitioningProvider435.java
deleted file mode 100644
index e45753da54..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoNodePartitioningProvider435.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import io.trino.spi.connector.ConnectorNodePartitioningProvider;
-
-/** Trino NodePartitioningProvider implementation with the new split bucket 
function signature. */
-public class GravitinoNodePartitioningProvider435 extends 
GravitinoNodePartitioningProvider {
-
-  public GravitinoNodePartitioningProvider435(
-      ConnectorNodePartitioningProvider nodePartitioningProvider) {
-    super(nodePartitioningProvider);
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoPlugin435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoPlugin435.java
deleted file mode 100644
index 9a0e8f328a..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoPlugin435.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import org.apache.gravitino.client.GravitinoAdminClient;
-
-/** Trino plugin endpoint, using java spi mechanism */
-public class GravitinoPlugin435 extends GravitinoPlugin {
-
-  public GravitinoPlugin435() {
-    super();
-  }
-
-  public GravitinoPlugin435(GravitinoAdminClient client) {
-    super(client);
-  }
-
-  @Override
-  protected GravitinoConnectorFactory 
createConnectorFactory(GravitinoAdminClient client) {
-    return new GravitinoConnectorFactory435(client);
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoSplitManager435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoSplitManager435.java
deleted file mode 100644
index 306feea732..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoSplitManager435.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.trino.spi.connector.ConnectorSplit;
-import io.trino.spi.connector.ConnectorSplitManager;
-import io.trino.spi.connector.ConnectorSplitSource;
-
-public class GravitinoSplitManager435 extends GravitinoSplitManager {
-
-  public GravitinoSplitManager435(ConnectorSplitManager internalSplitManager) {
-    super(internalSplitManager);
-  }
-
-  @Override
-  protected ConnectorSplitSource createSplitSource(ConnectorSplitSource 
splits) {
-    return new GravitinoSplitSource435(splits);
-  }
-
-  static class GravitinoSplitSource435 extends GravitinoSplitSource {
-
-    GravitinoSplitSource435(ConnectorSplitSource connectorSplitSource) {
-      super(connectorSplitSource);
-    }
-
-    @Override
-    protected ConnectorSplit createSplit(ConnectorSplit split) {
-      return new GravitinoSplit435(split);
-    }
-  }
-
-  public static class GravitinoSplit435 extends GravitinoSplit {
-
-    @JsonCreator
-    public GravitinoSplit435(@JsonProperty(HANDLE_STRING) String handleString) 
{
-      super(handleString);
-    }
-
-    public GravitinoSplit435(ConnectorSplit split) {
-      super(split);
-    }
-
-    @Override
-    public Object getInfo() {
-      return getInternalHandle().getInfo();
-    }
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoSystemConnector435.java
 
b/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoSystemConnector435.java
deleted file mode 100644
index e3c3074367..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/java/org/apache/gravitino/trino/connector/GravitinoSystemConnector435.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.gravitino.trino.connector;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.trino.spi.Page;
-import io.trino.spi.connector.ConnectorPageSource;
-import io.trino.spi.connector.ConnectorPageSourceProvider;
-import io.trino.spi.connector.ConnectorSplit;
-import io.trino.spi.connector.ConnectorSplitManager;
-import io.trino.spi.connector.SchemaTableName;
-import org.apache.gravitino.trino.connector.system.GravitinoSystemConnector;
-import 
org.apache.gravitino.trino.connector.system.storedprocedure.GravitinoStoredProcedureFactory;
-
-public class GravitinoSystemConnector435 extends GravitinoSystemConnector {
-
-  public GravitinoSystemConnector435(
-      GravitinoStoredProcedureFactory gravitinoStoredProcedureFactory) {
-    super(gravitinoStoredProcedureFactory);
-  }
-
-  @Override
-  protected ConnectorSplitManager createSplitManager() {
-    return new GravitinoSplitManager435();
-  }
-
-  @Override
-  protected ConnectorPageSourceProvider createPageSourceProvider() {
-    return new DatasourceProvider435();
-  }
-
-  static class DatasourceProvider435 extends DatasourceProvider {
-
-    @Override
-    protected ConnectorPageSource createPageSource(Page page) {
-      return new SystemTablePageSource435(page);
-    }
-  }
-
-  static class GravitinoSplitManager435 extends SplitManager {
-
-    protected ConnectorSplit createSplit(SchemaTableName tableName) {
-      return new Split435(tableName);
-    }
-  }
-
-  static class SystemTablePageSource435 extends SystemTablePageSource {
-
-    public SystemTablePageSource435(Page page) {
-      super(page);
-    }
-
-    public Page getNextPage() {
-      return nextPage();
-    }
-  }
-
-  public static class Split435 extends Split {
-
-    @JsonCreator
-    public Split435(@JsonProperty("tableName") SchemaTableName tableName) {
-      super(tableName);
-    }
-
-    @Override
-    public Object getInfo() {
-      return this;
-    }
-  }
-}
diff --git 
a/trino-connector/trino-connector-435-439/src/main/resources/META-INF/services/io.trino.spi.Plugin
 
b/trino-connector/trino-connector-435-439/src/main/resources/META-INF/services/io.trino.spi.Plugin
deleted file mode 100644
index aafac3a96c..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/main/resources/META-INF/services/io.trino.spi.Plugin
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-org.apache.gravitino.trino.connector.GravitinoPlugin435
\ No newline at end of file
diff --git 
a/trino-connector/trino-connector-435-439/src/test/java/TestGravitinoConnector435.java
 
b/trino-connector/trino-connector-435-439/src/test/java/TestGravitinoConnector435.java
deleted file mode 100644
index eb767c7dda..0000000000
--- 
a/trino-connector/trino-connector-435-439/src/test/java/TestGravitinoConnector435.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import static io.trino.testing.TestingSession.testSessionBuilder;
-
-import io.trino.Session;
-import io.trino.testing.DistributedQueryRunner;
-import org.apache.gravitino.client.GravitinoAdminClient;
-import org.apache.gravitino.trino.connector.GravitinoPlugin;
-import org.apache.gravitino.trino.connector.GravitinoPlugin435;
-import org.apache.gravitino.trino.connector.TestGravitinoConnector;
-import 
org.apache.gravitino.trino.connector.TestGravitinoConnectorWithMetalakeCatalogName;
-import org.junit.jupiter.api.Nested;
-
-public class TestGravitinoConnector435 {
-  @Nested
-  class SingleMetalake extends TestGravitinoConnector {
-    @Override
-    protected GravitinoPlugin createGravitinoPlugin(GravitinoAdminClient 
client) {
-      return new GravitinoPlugin435(client);
-    }
-
-    @Override
-    protected DistributedQueryRunner createTrinoQueryRunner() throws Exception 
{
-      Session session = testSessionBuilder().setCatalog("gravitino").build();
-      return DistributedQueryRunner.builder(session).setNodeCount(1).build();
-    }
-  }
-
-  @Nested
-  class MultiMetalake extends TestGravitinoConnectorWithMetalakeCatalogName {
-    @Override
-    protected GravitinoPlugin createGravitinoPlugin(GravitinoAdminClient 
client) {
-      return new GravitinoPlugin435(client);
-    }
-
-    @Override
-    protected DistributedQueryRunner createTrinoQueryRunner() throws Exception 
{
-      Session session = testSessionBuilder().setCatalog("gravitino").build();
-      return DistributedQueryRunner.builder(session).setNodeCount(1).build();
-    }
-  }
-}
diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConfig.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConfig.java
index e79645d0e6..b6a518584a 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConfig.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConfig.java
@@ -234,7 +234,7 @@ public class GravitinoConfig {
   private static final ConfigEntry GRAVITINO_TRINO_SKIP_VERSION_VALIDATION =
       new ConfigEntry(
           "gravitino.trino.skip-version-validation",
-          "When true, skips Trino version validation and logs a warning 
instead of throwing an error. Gravitino supports Trino versions 435-439; other 
versions are untested.",
+          "When true, skips Trino version validation and logs a warning 
instead of throwing an error. Gravitino supports Trino versions 440-478; other 
versions are untested.",
           "false",
           false);
 
diff --git 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory.java
 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory.java
index 6308b7d1bc..b248ed7f82 100644
--- 
a/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory.java
+++ 
b/trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/GravitinoConnectorFactory.java
@@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
 public class GravitinoConnectorFactory implements ConnectorFactory {
 
   private static final Logger LOG = 
LoggerFactory.getLogger(GravitinoConnectorFactory.class);
-  private static final int MIN_SUPPORT_TRINO_SPI_VERSION = 435;
+  private static final int MIN_SUPPORT_TRINO_SPI_VERSION = 440;
   private static final int MAX_SUPPORT_TRINO_SPI_VERSION = Integer.MAX_VALUE;
   private static final Pattern TRINO_SPI_VERSION_PATTERN = 
Pattern.compile("^(\\d+)");
   private static final Set<String> SECURITY_SENSITIVE_PROPERTY_SUFFIXES =

Reply via email to