Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.4.8, 3.4.11
-
None
-
None
-
None
Description
I have rediscovered an issue, that was apparently posted a while back (link below). It seems that if I configure an Observer node to be enabled for read-only mode, with syncEnabled = true, it properly syncs its transaction log with the quorum. However, if I shut down the quorum participants, and the Observer automatically transitions to read-only mode, it does not load the saved transaction log, and thus rejects any client connection with a zxid > 0. But If I restart the Observer node, it reloads it's persisted transaction log and serves read-only requests at the latest zxid. Is this the correct behavior? Things run fine if instead of an observer, I do the same with a read-only participant. In this case, it transitions without issue to a read-only server, and serves the current transaction log.
It seems to me this issue renders read-only observers completely useless. What am I missing here?
I'm seeing this with 3.4.8
It seems this was discovered and reported a long time ago here:
http://grokbase.com/t/zookeeper/user/14c16b1d22/issue-with-zxid-during-observer-failover-to-read-only