Vinay created HADOOP-9275:
-----------------------------
Summary: ActiveStandbyElector can join election even before
Service HEALTHY, and results in null data at ActiveBreadCrumb
Key: HADOOP-9275
URL: https://issues.apache.org/jira/browse/HADOOP-9275
Project: Hadoop Common
Issue Type: Bug
Affects Versions: 2.0.2-alpha
Reporter: Vinay
Assignee: Vinay
ActiveStandbyElector can store null at ActiveBreadCrumb in the below race
condition. At further all failovers will fail resulting NPE.
1. ZKFC restarted.
2. due to less machine busy, first zk connection is expired even before the
health monitoring returned the status.
3. On re-establishment transitionToActive will be called, at this time appData
will be null,
4. So now ActiveBreadCrumb will have null.
5. After this any failovers will fail throwing
{noformat}java.lang.NullPointerException
at
org.apache.hadoop.util.StringUtils.byteToHexString(StringUtils.java:171)
at
org.apache.hadoop.ha.ActiveStandbyElector.fenceOldActive(ActiveStandbyElector.java:892)
at
org.apache.hadoop.ha.ActiveStandbyElector.becomeActive(ActiveStandbyElector.java:797)
at
org.apache.hadoop.ha.ActiveStandbyElector.processResult(ActiveStandbyElector.java:475)
at
org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:545)
at
org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:497){noformat}
Should not join the election before service is HEALTHY
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira