Hi Asad,
In addition to Lokesh's reply, regard the transaction and log replication, my understanding is that raft only grantees that all logs will be replicated in consistently, however the log execution might be defered depending on the implementation, that's to say, wheter or not the log has been executed, or execution failed, will not impact the log replication itself. I did not look into the raft paper to confirm this, but this should make sense. With same log and same transaction applying logic, all replicas can get same result eventually. Thanks Riguz Original Email Sender:"Lokesh Jain"< [email protected] >; Sent Time:2022/3/9 14:50 To:"user"< [email protected] >; Subject:Re: ApplyTransaction failure Hey Asad You can control the behaviour of applyTransaction in the StateMachine implementation. In case of an error, any further transaction can be failed by the server. Application can choose whether to skip or fail. Regards Lokesh On 09-Mar-2022, at 2:14 AM, Asad Awadia <[email protected]> wrote: Hello, What is the behaviour when the applyTransaction fails on the followers? I am assuming applyTransaction is called on the leader when a write request comes in and on the followers as they replicate the log. For the leader we can signal back to the client but what about the followers? If there is an error does the entire replication for that instance block/gets stuck? Since it is almost like a stream of logs - we probably don't want it to skip over the failed write and continue on as that can lead to inconsistent data end state. Regards, Asad
