Hello, We are investigating a transaction loss issue in production. I have a couple of questions and would like to see if anyone has any inputs on them.
1. When a follower syncs up with the leader, one of the sync modes is TRUNC. Does the WARN log of "Truncating log to get in sync with the leader" mean transaction may get lost and mitigatonn need to hapenen? ... else if (qp.getType() == Leader.TRUNC) { //we need to truncate the log to the lastzxid of the leader self.setSyncMode(QuorumPeer.SyncMode.TRUNC); * LOG.warn("Truncating log to get in sync with the leader 0x{}", *Long.toHexString(qp.getZxid())); ... 2. When a follower syncs up with the leader and the sync mode is DIFF, we had many WARN logs about "the currrent zxid being less or equal to the lastZxidSeen". Does it mean that transaction may got lost or out of order? What actions should be taken when getting this? if (hdr.getZxid() <= lastZxidSeen) { LOG.warn( * "Current zxid {} is <= {} for {}",* hdr.getZxid(), lastZxidSeen, hdr.getType()); } else { lastZxidSeen = hdr.getZxid(); } Thanks, Li