Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Apache Ignite should have some general engine approach to handle critical failures.

...

Code Block
languagejava
public IgniteConfiguration setIgniteFailureHandlersetFailureHandler(IgniteFailureHandlerFailureHandler igniteFailureHndhnd);

public IgniteFailureHandlerFailureHandler getIgniteFailureHandlergetFailureHandler();

Where

 

Code Block
languagejava
interface IgniteFailureHandlerFailureHandler {
   IgniteFailureActionFailureAction onFailure(IgniteFailureContextFailureContext failureCtx);
}

class IgniteFailureContextFailureContext {
   IgniteFailureTypeFailureType type;
   Throwable cause;
}

enum IgniteFailureActionFailureAction {
   RESTART_JVM,
   STOP,
   NOOP;
}

enum IgniteFailureTypeFailureType {
   SEGMENTATION,
   SYSTEM_WORKER_CRASHED,
   CRITICAL_ERROR
}

So, provided by user subclass of IgniteFailureHandler of FailureHandler able to decide what to do (see . IgniteFailureAction FailureAction) on each registered failure (see . IgniteFailureContext FailureContext).

Risks and Assumptions

// Describe project risks, such as API or binary compatibility issues, major protocol changes, etc.

...