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