[ 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. *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. > 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 > Assignee: Sergey Uttsel > Priority: Major > Labels: ignite-3 > Time Spent: 10m > Remaining Estimate: 0h > > 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)