The Geode codebase currently includes the component SystemFailure which is initiated by any instance of VirtualMachineError:
} catch (VirtualMachineError e) { SystemFailure.initiateFailure(e); throw e; SystemFailure will ultimately react by closing the DistributedSystem and Cache (ie, shutdown the server). The original reason was to close the Cache in the event of an OutOfMemoryError to prevent Cache inconsistency from one member to another. There are additional types of VirtualMachineError besides OutOfMemoryError. Does it really make sense to initiate SystemFailure for all other types including StackOverflowError? GFSH starts all processes with a flag indicating that OutOfMemoryError should result in shutdown. It specifies "-XX:OnOutOfMemoryError=taskkill /F /PID %p" for HotSpot on Windows, "-XX:OnOutOfMemoryError=kill -KILL %p" for HotSpot on all other platforms, "-Xcheck:memory" on J9 or "-XXexitOnOutOfMemory" on JRockit. Given that the above flag should terminate the process on OutOfMemoryError, are we now able to delete and remove SystemFailure from Geode? Opinions? Thanks, Kirk