geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (Jira)" <>
Subject [jira] [Commented] (GEODE-7369) Deprecate SystemFailure Class
Date Wed, 30 Oct 2019 22:47:00 GMT


ASF subversion and git services commented on GEODE-7369:

Commit 4ec46894a93d42a489d8d61c14a222410a480255 in geode's branch refs/heads/develop from
Bill Burcham
[;h=4ec4689 ]

GEODE-7369: Deprecate SystemFailure Class (#4253)

> Deprecate SystemFailure Class
> -----------------------------
>                 Key: GEODE-7369
>                 URL:
>             Project: Geode
>          Issue Type: Bug
>          Components: core
>            Reporter: Bill Burcham
>            Assignee: Bill Burcham
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
> 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.
> This ticket was discussed on the Apache Geode dev list and "rough consensus" was achieved[2]
> [1]
> [2]

This message was sent by Atlassian Jira

View raw message