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

Reply via email to