[
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]