geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Schuchardt <>
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]
> [2] oh and here's a ticket

View raw message