You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2023/09/19 21:59:00 UTC

[jira] [Updated] (IGNITE-20447) Introduce a new failure handling component

     [ https://issues.apache.org/jira/browse/IGNITE-20447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vyacheslav Koptilin updated IGNITE-20447:
-----------------------------------------
    Description: 
Let's add a new component `failure` to Apache Ignite 3 and add base interfaces to this component.

*Definition of done:*
 - introduced a new module to Ignite 3 codebase
 - introduced a new Ignite component - _FailureProcessor _with minimal no-op implementation. This component is responsible for processing critical errors.
 - introduced a new _FailureHandler _interface. An implementation of this interface represents a concrete strategy for handling errors.
 - introduced a new enum _FailureType _that describes a possible type of failure. The following types can be considered as a starting point: _CRITICAL_ERROR_, _SYSTEM_WORKER_TERMINATION_, _SYSTEM_WORKER_BLOCKED_, _SYSTEM_CRITICAL_OPERATION_TIMEOUT_
 - introduced a new class _FailureContext _that contains information about failure type and exception.

*Implemenattion notes:*
    All these classes and interfaces should be a part of internal API due to the end user should not provide a custom implementation of the failure handler, Apache Ignite should provide a closed list of handlers out of the box.


  was:
Let's add a new component `failure` to Apache Ignite 3 and add base interfaces to this component.

*Definition of done:*
 - introduced a new module to Ignite 3 codebase
 - introduced a new Ignite component - _FailureProcessor _with minimal no-op implementation. This component is responsible for processing critical errors.
 - introduced a new _FailureHandler _interface. An implementation of this interface represents a concrete strategy for handling errors.
 - introduced a new enum _FailureType _that describes a possible type of failure. The following types can be considered as a starting point: _CRITICAL_ERROR_, _SYSTEM_WORKER_TERMINATION_, _SYSTEM_WORKER_BLOCKED_, _SYSTEM_CRITICAL_OPERATION_TIMEOUT_
 - introduced a new class _FailureContext _that contains information about failure type and exception.



> Introduce a new failure handling component
> ------------------------------------------
>
>                 Key: IGNITE-20447
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20447
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vyacheslav Koptilin
>            Priority: Major
>              Labels: ignite-3
>
> Let's add a new component `failure` to Apache Ignite 3 and add base interfaces to this component.
> *Definition of done:*
>  - introduced a new module to Ignite 3 codebase
>  - introduced a new Ignite component - _FailureProcessor _with minimal no-op implementation. This component is responsible for processing critical errors.
>  - introduced a new _FailureHandler _interface. An implementation of this interface represents a concrete strategy for handling errors.
>  - introduced a new enum _FailureType _that describes a possible type of failure. The following types can be considered as a starting point: _CRITICAL_ERROR_, _SYSTEM_WORKER_TERMINATION_, _SYSTEM_WORKER_BLOCKED_, _SYSTEM_CRITICAL_OPERATION_TIMEOUT_
>  - introduced a new class _FailureContext _that contains information about failure type and exception.
> *Implemenattion notes:*
>     All these classes and interfaces should be a part of internal API due to the end user should not provide a custom implementation of the failure handler, Apache Ignite should provide a closed list of handlers out of the box.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)