Skip to content

improve handling of unrecoverable errors caught in doRestartChild #88

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

Conversation

tavisrudd
Copy link
Contributor

The Left branch of doStartChild is unrecoverable. It currently drops
the affected child without logging.

See discussion in PR #87.

The `Left` branch of doStartChild is unrecoverable. It currently drops
the affected child without logging.
@tavisrudd tavisrudd changed the title add logging to failures caught in doRestartChild improve handling of unrecoverable errors caught in doRestartChild Apr 25, 2014
. (bumpStats Active chType decrement)
. (bumpStats Specified chType decrement)
$ removeChild spec st
)
else die $ "Unrecoverable error in child " ++ (childKey spec)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if die is the right way to crap out here. It might be better to refactor the type of this function so that we can stop with a non-normal exit reason. The question is, do we want to propagate any information to the children at this point? If there is a shutdown strategy in place (order, timeouts, etc) do we want to observe the configured policies when terminating the other children? Just crashing the supervisor process is a pretty extreme step to take.

Let me poke around in the code and see how things fit (since I've forgotten!) and we can discuss this point a bit more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. What I intended was shutdown the other children and exit abnormally. I was forgetting that die is too brutal for that.

@hyperthunk hyperthunk merged commit a208ea2 into haskell-distributed:development May 9, 2014
@tavisrudd tavisrudd deleted the feature-better-error-handling-in-doRestartChild branch May 12, 2014 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants