If a follower which is the old leader that saw a transaction by itself tries to sync with the new leader, it is possible that the follower goes for the fifth cases in the syncFollower method of LearnerHandler.java. That is, it is the follower missed the committedLog. The leader may end up sending snapshot. However, the leader does not send TRUNC. Therefore, the transaction only the follower saw remains and gets applied to the in-memory data tree of the follower even after synchronization is complete.