ConfX created HADOOP-19337: ------------------------------ Summary: Null Pointer Exception in ZKFailoverController due to integer overflow in parseInt Key: HADOOP-19337 URL: https://issues.apache.org/jira/browse/HADOOP-19337 Project: Hadoop Common Issue Type: Bug Components: common Reporter: ConfX Assignee: ConfX
h3. *What Happened:* A null pointer exception occurs when trying to shutdown healthMonitor. healthMonitor is not initialized if the ha.health-monitor.rpc-timeout.ms is set to 4294967295. The healthMonitor constructor uses parseInt() to parse configuration values and this value overflows for parseInt and throws an exception during healthMonitor initialization. h3. *Buggy Code:* {code:java} try { initRPC(); initHM(); // -> This throws a java.Lang.NumberFormatException and healthMonitor is not intialized startRPC(); mainLoop(); } catch (Exception e) { LOG.error("The failover controller encounters runtime error: ", e); throw e; } ... healthMonitor.shutdown(); // -> NPE if healthMonitor is not intialized healthMonitor.join(); } {code} {code:java} Caused by: java.lang.NullPointerException at org.apache.hadoop.ha.ZKFailoverController.doRun(ZKFailoverController.java:266) at org.apache.hadoop.ha.ZKFailoverController.access$000(ZKFailoverController.java:65) at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:186) at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:182) at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:520) at org.apache.hadoop.ha.ZKFailoverController.run(ZKFailoverController.java:182) at org.apache.hadoop.ha.MiniZKFCCluster$DummyZKFCThread.doWork(MiniZKFCCluster.java:301) at org.apache.hadoop.test.MultithreadedTestUtil$TestingThread.run(MultithreadedTestUtil.java:189) {code} h3. *How to Reproduce:* (1) Set ha.health-monitor.rpc-timeout.ms to 4294967295. (2) Run: test: org.apache.hadoop.ha.TestZKFailoverController#testVerifyObserverState -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-dev-h...@hadoop.apache.org