RATIS-2433. Cancel transaction in case of failure to append by spacemonkd · Pull Request #1382 · apache/ratis
What changes were proposed in this pull request?
Currently in RaftServerImpl#writeAsyncImpl() the client request is added to the pending requests asynchronously.
In between if there is any failure/exception in appendTransactions() then we are not cancelling the transaction. The failure is returned to the client/retry-cache, but the statemachine is not notified.
This can cause partial state in the statemachine.
We should handle this such that in case of exceptions the statemachine is notified via cancelTransaction().
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/RATIS-2433
How was this patch tested?
Patch was tested via unit tests