[
https://issues.apache.org/jira/browse/ZOOKEEPER-1442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeremy Stribling updated ZOOKEEPER-1442:
----------------------------------------
Attachment: ZOOKEEPER-1442.patch
Here's an attempt to make the default uncaught exception strategy
parameterized. I'd appreciate a review.
It changes the system behavior slightly by setting the handler only when an
NIOServerCnxnFactory is constructed, instead of as static class code. That
means it will overwrite the handler for each new factory, if the strategy is
not "none".
Feel free to hammer me on style. I erred on the side of verbosity with
variable names, but couldn't find anything stating the preferred line length so
sometimes lines get a bit long.
> Uncaught exception handler should exit on a java.lang.Error
> -----------------------------------------------------------
>
> Key: ZOOKEEPER-1442
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1442
> Project: ZooKeeper
> Issue Type: Bug
> Components: java client, server
> Affects Versions: 3.4.3, 3.3.5
> Reporter: Jeremy Stribling
> Assignee: Jeremy Stribling
> Priority: Minor
> Attachments: ZOOKEEPER-1442.patch, ZOOKEEPER-1442.patch
>
>
> The uncaught exception handler registered in NIOServerCnxnFactory and
> ClientCnxn simply logs exceptions and lets the rest of ZooKeeper go on its
> merry way. However, errors such as OutOfMemoryErrors should really crash the
> program, as they represent unrecoverable errors. If the exception that gets
> to the uncaught exception handler is an instanceof a java.lang.Error, ZK
> should exit with an error code (in addition to logging the error).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira