You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Uttsel (Jira)" <ji...@apache.org> on 2022/08/31 10:13:00 UTC
[jira] [Commented] (IGNITE-17508) Exception handling in the partition replication listener for RAFT futures
[ https://issues.apache.org/jira/browse/IGNITE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17598300#comment-17598300 ]
Sergey Uttsel commented on IGNITE-17508:
----------------------------------------
[~v.pyatkov] LGTM
> Exception handling in the partition replication listener for RAFT futures
> -------------------------------------------------------------------------
>
> Key: IGNITE-17508
> URL: https://issues.apache.org/jira/browse/IGNITE-17508
> Project: Ignite
> Issue Type: Improvement
> Reporter: Vladislav Pyatkov
> Assignee: Vladislav Pyatkov
> Priority: Major
> Labels: ignite-3
>
> In the replication listener ({_}PartitionReplicaListener{_}) where we have the pattern:
> {code:java}
> raftFut.thenApply(ignored -> result);{code}
> we should worry about handling RAFT exceptions, including analyzing whether raftFut result.
> Can distinguish following exception types for RAFT:
> * RAFT cannot replicate a command for the timeout ({_}TimeoutException{_}). Hence, this exception leads to the replication timeout exception ({_}ReplicationTimeoutException{_}).
> * It throws some internal exception ({_}RaftException{_}). This exception should be wrapped of the common replication exception ({_}ReplicationException{_}).
> * Finally, RAFT throws java exceptions (NullPointerException, IndexOutOfRangeException e.t.c). Those exceptions shouldn't be touched, is will be through as is.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)