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] &gt;;

Sent Time:2022/3/9 14:50

To:"user"< [email protected] &gt;;

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]&gt; 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

Reply via email to