I'm confused with a part of the implementation of SyncRequestProcessor. The
source code show that the transaction log of the proposal is committed in
the 'flush' function,
private void flush(LinkedList<Request> toFlush)
However, at this time, the proposal has NOT been committed by the Leader
yet. If this proposal cannot be committed for some Exception. The
transaction log will still exists on the Follower, won't it? Although the
proposals which haven't been committed would not take effect actually, if we
restart the whole system after that, will these uncommitted-transactions
start to take effect?
Could any one explain it to me, please?
Made in Zhejiang University