[ 
https://issues.apache.org/jira/browse/CASSANDRA-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17198670#comment-17198670
 ] 

Benedict Elliott Smith edited comment on CASSANDRA-15214 at 9/19/20, 7:21 AM:
------------------------------------------------------------------------------

{quote}So it is possible that errors from Netty internal are not bubbled up
{quote}
As I have said, they are not, and that is the reason this ticket was filed.  I 
ascertained this at a time when I was intimately familiar with Netty’s 
workings, which I am not any longer.  I may have made a mistake, or Netty may 
have been updated to a version where this changed, but let's operate under the 
assumption I was correct at the time of filing this ticket, until proven 
otherwise.

The non-propagation of OOM by inspectThrowable was probably used precisely 
because propagating it was thought to achieve nothing besides logging against 
Netty's internal loggers (and failing to shutdown would leave the channel in a 
worse state, as we would not have finished tidying up as a result of the 
exception), but I agree we should have left a TODO directly in the code.


was (Author: benedict):
As I have said, they do not - unless you are confident I am wrong. That is the 
reason this ticket was filed, and I ascertained this at a time when I was 
intimately familiar with Netty’s workings.  I may have made a mistake, or Netty 
may have been updated to a version where this changed, but please do not 
operate under that assumption. The non-propagation of OOM by inspectThrowable 
is not relevant, and probably was used precisely because propagating it 
achieves nothing but logging against Netty's internal loggers.

> 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 Elliott Smith
>            Assignee: Yifan Cai
>            Priority: Normal
>             Fix For: 4.0, 4.0-rc
>
>         Attachments: oom-experiments.zip
>
>
> 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
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to