Skip to content

[Feature Request]: Implement Graceful Shutdown mechanism for Hop Server (especially for Kubernetes/Containerized environments) #6403

@petertsneg

Description

@petertsneg

What would you like to happen?

Currently, hop-server.sh supports a -k flag to stop the server, but it acts more as a kill switch than a graceful shutdown. In containerized environments like Kubernetes, when a Pod is being updated or scaled down, the platform sends a SIGTERM signal to the process.

Without a graceful shutdown mechanism, ongoing pipelines and workflows are interrupted abruptly, which may lead to data inconsistency or incomplete processing.

Proposed Solution / Requirements:

Signal Handling: Allow Hop Server to catch SIGTERM signals and trigger a shutdown sequence.

Wait for Completion: Provide an option/parameter to allow running pipelines/workflows to finish their current tasks within a configurable timeout period before the server process exits.

Reject New Tasks: Once the shutdown sequence is initiated, the server should stop accepting new execution requests.

Use Case: This feature is critical for users running Apache Hop in CI/CD pipelines or cloud-native environments (K8s) to ensure high availability and data integrity during routine deployments and updates.

Issue Priority

Priority: 3

Issue Component

Component: Hop Server

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions