GitHub user brettKK opened a pull request: https://github.com/apache/zookeeper/pull/504
Potential NPE in Observer#observeLeader and Follower#followLeader Bug description: callee Learner#findLeader will return null and callee developer check it but just log: ``` // code placeholder if (leaderServer == null) { LOG.warn("Couldn't find the leader with id = " + current.getId()); } return leaderServer; ``` caller Observer#observeLeader and Follower#followLeader will directly use return value w/o null check: ``` //Follower#followLeader QuorumServer leaderServer = findLeader(); try { connectToLeader(leaderServer.addr, leaderServer.hostname); .......... } //Observer#observeLeader QuorumServer leaderServer = findLeader(); LOG.info("Observing " + leaderServer.addr); try { connectToLeader(leaderServer.addr, leaderServer.hostname); } ``` https://issues.apache.org/jira/browse/ZOOKEEPER-3010 You can merge this pull request into a Git repository by running: $ git pull https://github.com/brettKK/zookeeper ZOOK-3010 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zookeeper/pull/504.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #504 ---- commit 7d8d5230c5a87faef94d038a258b159a322f3f5e Author: gongleigl.gong <gongleigl.gong@...> Date: 2018-03-26T13:16:06Z d commit 700dfb7f48f774dd215e5bf19340a4b61eda3397 Author: gongleigl.gong <gongleigl.gong@...> Date: 2018-03-27T16:38:28Z fix NPE bug commit f71d8ce153d393dc3ab13c62d9d374e8a4aeb1cf Author: brettkk <1099446733@...> Date: 2018-04-22T07:19:21Z zook3010 ---- ---