I also have the same question like this below:
let's say we have nodes A B C D E, now A is the leader A broadcasts <1,1>, it reaches B, then A, B die, C D E elect someone, the new system is going to throw away <1,1> since it does not know its existence, right? start from scratch, A broadcasts<1,1> , it reaches all, all send ACK to A, but A dies before receiving the ACK, then BCDE elects someone, and the new leader sees <1,1> in log, so it broadcasts <1,1> to BCDE, which all commit it. now if we look back, when A dies, the client should get a "write failure", but now after BCDE relection, the written value does get into the system ??? the client and the cluster has an inconsistent view ?? -- Sent from: http://zookeeper-user.578899.n2.nabble.com/