[
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)