+1. On Mon, Oct 28, 2019 at 12:11 PM Bill Burcham <bill.burc...@gmail.com> wrote:
> The SystemFailure class is a clearing house for detecting and attempting to > mitigate SystemFailure exceptions e.g. VirtualMachineError and > OutOfMemoryError. > > This class should not exist. SystemFailure exceptions should be allowed to > percolate up and cause the JVM to terminate as soon as possible with an > informative message in the log, if possible. > > Here is what the JVM spec has to say [1]: > > "A Java Virtual Machine implementation throws an object that is an instance > of a subclass of the class VirtualMethodError (sic) when an internal error > or resource limitation prevents it from implementing the semantics > described in this chapter. This specification cannot predict where internal > errors or resource limitations may be encountered and does not mandate > precisely when they can be reported." > > There's a typo in the spec there: it says "VirtualMethodError" when it > means "VirtualMachineError". Anyhoo, the upshot is: the JVM spec does not > apply after you've encountered a VirtualMachineError. As a result, there is > no reason to believe that subsequent processing will make things better > (than exiting immediately). > > The SystemFailure class should be deprecated so no new dependencies to it > are added. Existing dependencies on it, should be eliminated over time. > > Do you have any objections to deprecating the class and beginning > elimination of usage of it within Geode? > > Regards, > Bill > > [1] > https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.3 > [2] oh and here's a ticket > https://issues.apache.org/jira/browse/GEODE-7369 >