Erlang's default SIGTERM behavior of calling `init:stop()` results in runit timeout
Nobody has claimed this yet.
- Dominant language
- Erlang
- Stars
- 303
- Forks
- 211
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 5
Description
Since upgrading to OTP 19+ we've had in place a serious of work-around to account for the fact that SIGTERM's new default behavior of calling init:stop() results in a runit timeout.
When I run init:stop() on erchef when running in the foreground, the application does eventually stop, so it is unclear why the new SIGTERM behavior does not work for us.
Ideally we would be able to use this new behavior for a more orderly service shutdown.
Aha! Link: https://chef.aha.io/features/SH-285
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Begin with erchef's foreground shutdown path and its runit service behavior under OTP 19+, comparing init:stop() with SIGTERM. Done means SIGTERM stops erchef before runit's timeout while preserving an orderly shutdown; check the linked Aha feature for current scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- erlang
- Domain
- backend, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100