[jira] [Commented] (IGNITE-17508) Exception handling in the partition replication listener for RAFT futures

2022-08-31 Thread Vladislav Pyatkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17598342#comment-17598342
 ] 

Vladislav Pyatkov commented on IGNITE-17508:


Merged e4cc995b22e74078f72f4520feb18a8088833f4b

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


[jira] [Commented] (IGNITE-17508) Exception handling in the partition replication listener for RAFT futures

2022-08-31 Thread Vladislav Pyatkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17598341#comment-17598341
 ] 

Vladislav Pyatkov commented on IGNITE-17508:


It will be merged to the feature branch 
[ignite3_tx|https://github.com/gridgain/apache-ignite-3/tree/ignite3_tx].
 

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


[jira] [Commented] (IGNITE-17508) Exception handling in the partition replication listener for RAFT futures

2022-08-31 Thread Sergey Uttsel (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)