[ https://issues.apache.org/jira/browse/ZOOKEEPER-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15373894#comment-15373894 ]
Michael Han commented on ZOOKEEPER-2152: ---------------------------------------- Hey Alex, removing zoo_cycle_next_server from error handling code will not fix this case, because the root cause of this case does not involve the 'handle_error' call we plan to update in ZOOKEEPER-2466. The code path that this patch tried to address is a different one, in zookeeper_interest: {code} if (*fd == -1) { if (zh->delay == 1) { // The patch introduced a test flag that will always make this branch taken, instead of the else branch. It makes sense for reconfig C test case because the servers used for testing are fake, so the error handling branch (the else branch here) will always be taken, where the zoo_cycle_next_server will be invoked which introduces the data race with client side call of zoo_cycle_next server. // ..... } else { // We don't want to execute this branch given how our test servers are set up - unless we simulate and spawn real servers, which involves more work. It's probably something good to have someday to use real server for reconfig test though. } } {code} > Intermittent failure in TestReconfig.cc > --------------------------------------- > > Key: ZOOKEEPER-2152 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2152 > Project: ZooKeeper > Issue Type: Sub-task > Components: c client > Reporter: Michi Mutsuzaki > Assignee: Michael Han > Labels: reconfiguration > Fix For: 3.5.3, 3.6.0 > > Attachments: ZOOKEEPER-2152.patch > > > I'm seeing this failure in the c client test once in a while: > {noformat} > [exec] > /home/jenkins/jenkins-slave/workspace/ZooKeeper-trunk/trunk/src/c/tests/TestReconfig.cc:474: > Assertion: assertion failed [Expression: found != string::npos, > 10.10.10.4:2004 not in newComing list] > {noformat} > https://builds.apache.org/job/ZooKeeper-trunk/2640/console -- This message was sent by Atlassian JIRA (v6.3.4#6332)