geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Schuchardt <bschucha...@pivotal.io>
Subject Re: Deprecate SystemFailure Class
Date Tue, 29 Oct 2019 15:18:18 GMT
Bill, are you proposing to remove calls to 
SystemFailure.initiateFailure() and remove all of the emergency-class 
stuff or just add a Deprecated flag to SystemFailure?


On 10/28/19 12:01 PM, Bill Burcham 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
>

Mime
View raw message