Use the attached repeat.sh to run ObserverTest repeatedly by doing:
The test will will fail eventually after a few iterations; should be only a few minutes.
The line that fails in the test is:
zk = new ZooKeeper("127.0.0.1:" + CLIENT_PORT_OBS,
Attached as out.txt is the output showing a successful run, for comparison, followed by a failed run.
Note that in the seconds before the test fails, in the following lines, that there is a 24 second gap in time (between 22:13:02 and 22:13:26):
[junit] 2011-08-03 22:13:02,167 [myid:3] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:11229:ZooKeeperServer@833] - Client attempting to establish new session at /127.0.0.1:46929
[junit] 2011-08-03 22:13:26,003 [myid:2] - INFO [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:11228:Leader@419] - Shutting down
[junit] 2011-08-03 22:13:26,003 [myid:2] - INFO [QuorumPeer[myid=2]/0:0:0:0:0:0:0:0:11228:Leader@425] - Shutdown called
[junit] java.lang.Exception: shutdown Leader! reason: Only 0 followers, need 1
- relates to
ZOOKEEPER-1144 ZooKeeperServer not starting on leader due to a race condition