For example, zkClient A connects to zkServer X. And zkClient A issues a request to update znode "/a" from 0 to 1. After receiving this request, zkServer X forwards it to the leader.
Then the leader broadcasts this update proposal to all the zkServers. After a quorum of the zkServers commit the update request, the update succeeds.
Then zkClient A issues a read request to get the value of znode "/a". And zkServer X receives this read request.
So if zkServer X is not among the quorum and zkServer X has not committed the update to catch up with the leader, it is still possible for zkClient A to get a stale value of znode "/a". In this case, the return value is 0.
Is my understanding correct?