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 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()
