Disables siginterrupt for SIGUSR1 #1844
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Sets siginterrupt to False for SIGUSR1 when installing the shutdown handler.
Motivation and Context
I've recently started using SIGUSR1 to stop old workers on deploy and each deploy has resulted in all MapReduce tasks dying with
IOError: [Errno 4] Interrupted system call
. To avoid this, we want the SIGUSR1 signal to not interrupt system calls.Have you tested this? If so, how?
I wrote some unit tests and tested it heavily in production both by sending lots of SIGUSR1 signals to running MRs and by seeing the regular stream of errors during deploys stop.