[ https://issues.apache.org/jira/browse/ZOOKEEPER-1858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13872444#comment-13872444 ]
Patrick Hunt commented on ZOOKEEPER-1858: ----------------------------------------- I see why this is necessary, the patch seems reasonable to me. One thing caught my eye in the patch bq. waits in a loop up to 5 seconds why are we waiting 5 seconds? > JMX checks - potential race conditions while stopping and starting server > ------------------------------------------------------------------------- > > Key: ZOOKEEPER-1858 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1858 > Project: ZooKeeper > Issue Type: Sub-task > Reporter: Rakesh R > Assignee: Rakesh R > Labels: test > Fix For: 3.4.6, 3.5.0 > > Attachments: ZOOKEEPER-1858-br3.4.patch, ZOOKEEPER-1858.patch, > ZOOKEEPER-1858.patch, ZOOKEEPER-1858.patch > > > I've noticed one potential case, where previously created zkclient session > immediately reconnected and publishing those beans while starting back the > zkserver and affecting zk#startup jmx checks. > Say, before stopping the server, there is a zk client session > 0x143576544c50000 exists. While starting back the server, there could be > possibility of seeing the client sessions in jmx. Following is one such case. > Please see below logs which has taken from build > https://builds.apache.org/job/ZooKeeper-trunk-WinVS2008_java/642/ > {code} [junit] 2014-01-03 09:18:12,809 [myid:] - INFO > [main-SendThread(127.0.0.1:11222):ClientCnxn$SendThread@1228] - Session > establishment complete on server 127.0.0.1/127.0.0.1:11222, sessionid = > 0x143576544c50000, negotiated timeout = 30000 > [junit] 2014-01-03 09:18:12,809 [myid:] - INFO > [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:11222:ZooKeeperServer@617] - > Established session 0x143576544c50000 with negotiated timeout 30000 for > client /127.0.0.1:55377{code} > {code} [junit] 2014-01-03 09:18:12,391 [myid:] - INFO [main:JMXEnv@135] - > ensureOnly:[] > [junit] 2014-01-03 09:18:12,395 [myid:] - INFO [main:ClientBase@438] - > STARTING server > [junit] 2014-01-03 09:18:12,395 [myid:] - INFO [main:ClientBase@359] - > CREATING server instance 127.0.0.1:11222 > [junit] 2014-01-03 09:18:12,395 [myid:] - INFO > [main:NIOServerCnxnFactory@94] - binding to port 0.0.0.0/0.0.0.0:11222 > [junit] 2014-01-03 09:18:12,395 [myid:] - INFO [main:ClientBase@334] - > STARTING server instance 127.0.0.1:11222 > [junit] 2014-01-03 09:18:19,030 [myid:] - INFO [main:JMXEnv@142] - > unexpected:org.apache.ZooKeeperService:name0=StandaloneServer_port-1,name1=Connections,name2=127.0.0.1,name3=0x143576544c50000 > [junit] 2014-01-03 09:18:19,030 [myid:] - INFO [main:JMXEnv@142] - > unexpected:org.apache.ZooKeeperService:name0=StandaloneServer_port-1 > [junit] 2014-01-03 09:18:19,030 [myid:] - INFO > [main:JUnit4ZKTestRunner$LoggedInvokeMethod@62] - TEST METHOD FAILED > testDefaultWatcherAutoResetWithChroot > [junit] junit.framework.AssertionFailedError: expected:<0> but was:<2> > [junit] at junit.framework.Assert.fail(Assert.java:47) > [junit] at junit.framework.Assert.failNotEquals(Assert.java:283) > [junit] at junit.framework.Assert.assertEquals(Assert.java:64) > [junit] at junit.framework.Assert.assertEquals(Assert.java:195) > [junit] at junit.framework.Assert.assertEquals(Assert.java:201) > [junit] at org.apache.zookeeper.test.JMXEnv.ensureOnly(JMXEnv.java:144) > [junit] at > org.apache.zookeeper.test.ClientBase.startServer(ClientBase.java:443) > [junit] at > org.apache.zookeeper.test.DisconnectedWatcherTest.testDefaultWatcherAutoResetWithChroot(DisconnectedWatcherTest.java:123) > [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > {code} -- This message was sent by Atlassian JIRA (v6.1.5#6160)