[
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)