You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2026/03/25 22:22:05 UTC
(tinkerpop) 01/02: Fix Docker health check requests for GLV integration tests
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 74cfcbdccdac4f7edbfb601842bd3a52869769e2
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Wed Mar 25 20:26:17 2026 +0000
Fix Docker health check requests for GLV integration tests
The health checks in the GLV docker-compose files were sending malformed
HTTP requests to Gremlin Server which lacked the Content-Type header.
This caused the server to mishandle the requests leading to "Connection
reset by peer" errors that could interfere with concurrent test
execution, producing intermittent NullPointerException failures in
random integration tests.
Installed curl in the test server Docker image at build time so that
health checks no longer need to run "apk add curl" on every invocation.
Updated all four GLV docker-compose health checks (dotnet, go,
javascript, python) to send properly formed JSON requests with the
correct Content-Type header. Also fixed the Python health check which
had an unquoted JSON body and an invalid traversal source reference. CTR
---
docker/gremlin-test-server/Dockerfile | 2 +-
gremlin-dotnet/docker-compose.yml | 2 +-
gremlin-go/docker-compose.yml | 2 +-
gremlin-js/gremlin-javascript/docker-compose.yml | 2 +-
gremlin-python/docker-compose.yml | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/docker/gremlin-test-server/Dockerfile b/docker/gremlin-test-server/Dockerfile
index 6802dcaaff..8ac853c1d1 100644
--- a/docker/gremlin-test-server/Dockerfile
+++ b/docker/gremlin-test-server/Dockerfile
@@ -29,7 +29,7 @@ RUN chmod 755 /opt/docker-entrypoint.sh
# Installing dos2unix to avoid errors in running the entrypoint script on Windows machines where their
# carriage return is \r\n instead of the \n needed for linux/unix containers
-RUN apk update && apk add dos2unix
+RUN apk update && apk add dos2unix curl
RUN dos2unix /opt/docker-entrypoint.sh /opt/gremlin-server/bin/gremlin-server.sh && apk del dos2unix
ARG GREMLIN_SERVER
diff --git a/gremlin-dotnet/docker-compose.yml b/gremlin-dotnet/docker-compose.yml
index a32dae8f30..a5d5b89c47 100644
--- a/gremlin-dotnet/docker-compose.yml
+++ b/gremlin-dotnet/docker-compose.yml
@@ -35,7 +35,7 @@ services:
- ${HOME}/.m2:/root/.m2
- ${ABS_PROJECT_HOME}/gremlin-test/target:/opt/gremlin-test
healthcheck:
- test: [ "CMD-SHELL", "apk add curl && curl -X POST -d '{\"gremlin\":\"g.inject(1)\"}' http://localhost:45940" ]
+ test: [ "CMD-SHELL", "curl -sf -X POST -H 'Content-Type: application/json' -d '{\"gremlin\":\"g.inject(1)\"}' http://localhost:45940" ]
interval: 30s
timeout: 10s
retries: 30
diff --git a/gremlin-go/docker-compose.yml b/gremlin-go/docker-compose.yml
index 1e9de54b0d..37206156dd 100644
--- a/gremlin-go/docker-compose.yml
+++ b/gremlin-go/docker-compose.yml
@@ -35,7 +35,7 @@ services:
- ${HOME}/.m2:/root/.m2
- ${ABS_PROJECT_HOME}/gremlin-test/target:/opt/gremlin-test
healthcheck:
- test: [ "CMD-SHELL", "apk add curl && curl -X POST -d '{\"gremlin\":\"g.inject(1)\"}' http://localhost:45940" ]
+ test: [ "CMD-SHELL", "curl -sf -X POST -H 'Content-Type: application/json' -d '{\"gremlin\":\"g.inject(1)\"}' http://localhost:45940" ]
interval: 30s
timeout: 10s
retries: 30
diff --git a/gremlin-js/gremlin-javascript/docker-compose.yml b/gremlin-js/gremlin-javascript/docker-compose.yml
index 3573034e53..f7465a4ca2 100644
--- a/gremlin-js/gremlin-javascript/docker-compose.yml
+++ b/gremlin-js/gremlin-javascript/docker-compose.yml
@@ -35,7 +35,7 @@ services:
- ${HOME}/.m2:/root/.m2
- ${ABS_PROJECT_HOME}/gremlin-test/target:/opt/gremlin-test
healthcheck:
- test: [ "CMD-SHELL", "apk add curl && curl -X POST -d '{\"gremlin\":\"g.inject(0)\"}' http://localhost:45940" ]
+ test: [ "CMD-SHELL", "curl -sf -X POST -H 'Content-Type: application/json' -d '{\"gremlin\":\"g.inject(1)\"}' http://localhost:45940" ]
interval: 30s
timeout: 10s
retries: 30
diff --git a/gremlin-python/docker-compose.yml b/gremlin-python/docker-compose.yml
index 2e9261f0cc..0c78152e81 100644
--- a/gremlin-python/docker-compose.yml
+++ b/gremlin-python/docker-compose.yml
@@ -35,7 +35,7 @@ services:
- ${HOME}/.m2:/root/.m2
- ${ABS_PROJECT_HOME}/gremlin-test/target:/opt/gremlin-test
healthcheck:
- test: [ "CMD-SHELL", "apk add curl && curl -X POST -d {\"gremlin\":\"gremlin.inject(1)\"} http://localhost:45940" ]
+ test: [ "CMD-SHELL", "curl -sf -X POST -H 'Content-Type: application/json' -d '{\"gremlin\":\"g.inject(1)\"}' http://localhost:45940" ]
interval: 30s
timeout: 10s
retries: 30