jerryshao opened a new pull request, #11272:
URL: https://github.com/apache/gravitino/pull/11272
### What changes were proposed in this pull request?
- Extract the Docker container entrypoint into
`dev/docker/gravitino/docker-entrypoint.sh`,
separated from user-facing scripts in `bin/`.
- Replace the `tail -f /dev/null` keep-alive hack (appended to
`gravitino.sh` at build time)
with a proper foreground server launch via `gravitino.sh run`.
- `bin/start-gravitino.sh` is kept as a deprecated one-release
backward-compatibility stub
that delegates to the new entrypoint.
- `rewrite_gravitino_server_config.py` is moved from `bin/` to `docker/`
alongside the entrypoint.
### Why are the changes needed?
The previous `tail -f /dev/null` approach was fragile: it was appended
directly to `gravitino.sh`
at image build time, affecting all invocations of that script. Running the
JVM in the foreground
is the standard Docker pattern and more robust for signal handling on
container stop.
Fix: #10556
### Does this PR introduce _any_ user-facing change?
- `bin/start-gravitino.sh` now prints a deprecation warning and delegates to
`docker/docker-entrypoint.sh`.
Users overriding the container entrypoint or calling this script directly
should update to
reference `docker/docker-entrypoint.sh`.
### How was this patch tested?
Built a local Docker image and verified:
- Server starts in the foreground via `gravitino.sh run`
- `SKIP_CONFIG_REWRITE=true` correctly skips config rewrite
- `bin/start-gravitino.sh` prints the deprecation warning and delegates
correctly
- `docker stop` sends SIGTERM and the container exits cleanly
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]