[
https://issues.apache.org/jira/browse/IGNITE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin reassigned IGNITE-17508:
--------------------------------------------
Assignee: Vladislav Pyatkov
> 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)