[
https://issues.apache.org/jira/browse/TINKERPOP-2950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17872078#comment-17872078
]
ASF GitHub Bot commented on TINKERPOP-2950:
-------------------------------------------
danielcweber commented on PR #2397:
URL: https://github.com/apache/tinkerpop/pull/2397#issuecomment-2276264367
I'm basically clueless about bash files but I'll give it a try nonetheless.
> Dockerized server doesn't close gracefully
> ------------------------------------------
>
> Key: TINKERPOP-2950
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2950
> Project: TinkerPop
> Issue Type: Improvement
> Components: server
> Affects Versions: 3.5.6, 3.6.4
> Reporter: Cole Greer
> Priority: Major
>
> When closing a docker container, docker sends a SIGTERM to the foreground
> process of the container. Docker will then wait for all processes to
> terminate. After a timeout (default 10s), if any processes haven't stopped,
> docker will forcefully kill them.
> In our setup, docker-entrypoint.sh is the foreground process, so SIGTERM is
> sent to this script when the container is closed. As this script does not
> have any signal handlers, no signal is ever sent to the jvm running the
> server (in a background process).
> The only workaround I'm aware of to gracefully shut down the server in docker
> is to manually send a SIGINT to the jvm process as in:
> {code:bash}
> /opt/gremlin-server $ ps
> PID USER TIME COMMAND
> 1 gremlin 0:00 {gremlin-server.} /bin/bash
> /opt/gremlin-server/bin/gremlin-server.sh conf/gremlin-server.yaml
> 22 gremlin 0:06 java
> -Dlogback.configurationFile=file:/opt/gremlin-server/conf/logback.xml
> -Xms512m -Xmx4096m -cp :/opt/gremlin-server/conf/:/opt/gremlin-server/lib
> 55 gremlin 0:00 /bin/sh
> 61 gremlin 0:00 ps
> /opt/gremlin-server $ kill -INT 22 # PID of the java process (gremlin-server)
> {code}
> I propose that we add handlers to docker-entrypoint.sh which will forward
> SIGTERM and SIGINT to the server process. The same issue likely applies to
> gremlin-console as well although it is mitigated as the console has a built
> in command to close itself.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)