Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add shutdown hook #6728

Open
2 tasks done
planetf1 opened this issue Jul 26, 2022 · 3 comments
Open
2 tasks done

Add shutdown hook #6728

planetf1 opened this issue Jul 26, 2022 · 3 comments
Labels
containers Docker, docker-compose, Kubernetes, operators enhancement New feature or request performance Performance & Scalability/reliability related pinned Keep open (do not time out)

Comments

@planetf1
Copy link
Member

Is there an existing issue for this?

  • I have searched the existing issues

Please describe the new behavior that that will improve Egeria

Add a shutdown hook for Egeria, specifically to handle SIGTERM

In operational environments the system/container/process running an Egeria platform may need to be shutdown externally - a system restart, or Kubernetes killing a pod.

These systems are not aware of Egeria APIs, and will typically send a SIGTERM to the jvm, wait about 30s, and then send a SIGKILL (which cannot be handled/blocked)

Egeria should register a shutdown hook, and on received of a SIGTERM or similar, should do what we can to clean down sufficiently cleanly, for a temporary stop. For example this might include attempting to commit the appropriate Kafka offsets, but also it gives opportunity to do other things, for example it may be possible to call connectors to stop - however timescales are short, and we need to take care with any blocking calls.

This may improve resilience/restart time.

Currently the SIGTERM will directly kill the vm - which does of course work

Alternatives

Currently the SIGTERM will directly kill the vm - which does of course work. We may decide this is sufficient

Any Further Information?

No response

Would you be prepared to be assigned this issue to work on?

  • I can work on this
@planetf1 planetf1 added enhancement New feature or request triage New bug/issue which needs checking & assigning labels Jul 26, 2022
@planetf1 planetf1 self-assigned this Aug 24, 2022
@planetf1 planetf1 added the performance Performance & Scalability/reliability related label Aug 24, 2022
@planetf1 planetf1 removed the triage New bug/issue which needs checking & assigning label Sep 30, 2022
@planetf1
Copy link
Member Author

image

Came across these options which may be part of the picture -- this will give the spring application 30s to shut down.

It may be we just do this in demos/charts, but would also want to test/document & understand the shutdown behaviour

@planetf1 planetf1 added the containers Docker, docker-compose, Kubernetes, operators label Nov 16, 2022
@planetf1
Copy link
Member Author

Adding container label, as in a dynamic k8s environment, scaling operations may mean this is more important, to ensure our integrity

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the no-issue-activity Issues automatically marked as stale because they have not had recent activity. label Jan 16, 2023
@planetf1 planetf1 added the pinned Keep open (do not time out) label Jan 16, 2023
@planetf1 planetf1 removed the no-issue-activity Issues automatically marked as stale because they have not had recent activity. label Feb 6, 2023
@planetf1 planetf1 removed their assignment May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
containers Docker, docker-compose, Kubernetes, operators enhancement New feature or request performance Performance & Scalability/reliability related pinned Keep open (do not time out)
Projects
No open projects
Status: No status
Development

No branches or pull requests

1 participant