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

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

commit 66de2d59264e4e73ce9a93cc67cb29c805a27d05
Author: diqiu50 <[email protected]>
AuthorDate: Mon Aug 24 14:46:02 2026 +0800

    [Cherry-pick to branch-1.3] [#12554] improvement(trino-connector): Address 
review findings on the Iceberg REST routing
    
    Only inject GRAVITINO_ICEBERG_REST_PORT when a real port is supplied,
    matching the guard already in TrinoITContainers.launch. An unconditional
    injection would substitute a bare host:0 into the Trino catalog's
    gravitino.iceberg.rest-uri if a future caller passes 0, as the Copilot
    review on this PR pointed out.
    
    (cherry picked from commit 756ae3ce374c392a8dd87ec1dbb24a1c0a984040)
---
 .../integration/test/container/ContainerSuite.java | 23 ++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/container/ContainerSuite.java
 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/container/ContainerSuite.java
index bc29a24e06..ad35692dbb 100644
--- 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/container/ContainerSuite.java
+++ 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/container/ContainerSuite.java
@@ -297,16 +297,23 @@ public class ContainerSuite implements Closeable {
           initIfNecessary();
           // Start Trino container
           String hiveContainerIp = hiveContainer.getContainerIpAddress();
+          ImmutableMap.Builder<String, String> envVars =
+              ImmutableMap.<String, String>builder()
+                  .put("HADOOP_USER_NAME", "anonymous")
+                  .put("GRAVITINO_HOST_IP", "host.docker.internal")
+                  .put("GRAVITINO_HOST_PORT", 
String.valueOf(gravitinoServerPort))
+                  .put("GRAVITINO_METALAKE_NAME", metalakeName);
+          if (icebergRestServerPort > 0) {
+            envVars.put("GRAVITINO_ICEBERG_REST_PORT", 
String.valueOf(icebergRestServerPort));
+          } else {
+            LOG.info(
+                "No Iceberg REST server port supplied; Trino falls back to the 
compose default. "
+                    + "Catalogs routed through the Iceberg REST server will 
not work in this "
+                    + "container.");
+          }
           TrinoContainer.Builder trinoBuilder =
               TrinoContainer.builder()
-                  .withEnvVars(
-                      ImmutableMap.<String, String>builder()
-                          .put("HADOOP_USER_NAME", "anonymous")
-                          .put("GRAVITINO_HOST_IP", "host.docker.internal")
-                          .put("GRAVITINO_HOST_PORT", 
String.valueOf(gravitinoServerPort))
-                          .put("GRAVITINO_ICEBERG_REST_PORT", 
String.valueOf(icebergRestServerPort))
-                          .put("GRAVITINO_METALAKE_NAME", metalakeName)
-                          .build())
+                  .withEnvVars(envVars.build())
                   .withNetwork(getNetwork())
                   .withExtraHosts(
                       ImmutableMap.<String, String>builder()

Reply via email to