Dinesh Joshi commented on CASSANDRA-15214:

I think this issue might be related to 
https://bugs.openjdk.java.net/browse/JDK-8027434. Other projects that use the 
JVM have run into a similar issue and the usual solution is to use 
[jvmkill|https://github.com/airlift/jvmkill]. The issue at hand is when a JVM 
has run out of memory (heap or otherwise), it enters an undefined state. In 
this situation, I would not expect the handlers to work as expected either. I 
think we should either use jvmkill or 
[jvmquake|https://github.com/Netflix-Skunkworks/jvmquake] to solve this issue 
as it has proven to be reliable and Netflix, Facebook and other large JVM users 
are actively using it.

> OOMs caught and not rethrown
> ----------------------------
>                 Key: CASSANDRA-15214
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15214
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Messaging/Client, Messaging/Internode
>            Reporter: Benedict
>            Priority: Normal
>             Fix For: 4.0
> Netty (at least, and perhaps elsewhere in Executors) catches all exceptions, 
> so presently there is no way to ensure that an OOM reaches the JVM handler to 
> trigger a crash/heapdump.
> It may be that the simplest most consistent way to do this would be to have a 
> single thread spawned at startup that waits for any exceptions we must 
> propagate to the Runtime.
> We could probably submit a patch upstream to Netty, but for a guaranteed 
> future proof approach, it may be worth paying the cost of a single thread.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to