Jason Rosenberg created ZOOKEEPER-2389:
------------------------------------------
Summary: read-only observer doesn't load transaction log when
transitioning to read-only
Key: ZOOKEEPER-2389
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2389
Project: ZooKeeper
Issue Type: Bug
Affects Versions: 3.4.8
Reporter: Jason Rosenberg
I have rediscovered an issue, that was apparently posted a while back (link
below). It seems that if I configure a 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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)