ConfX created HBASE-27994: ----------------------------- Summary: Missing null check of rpcServer.scheduler.executor causes NPE with invalid value of hbase.client.default.rpc.codec Key: HBASE-27994 URL: https://issues.apache.org/jira/browse/HBASE-27994 Project: HBase Issue Type: Bug Reporter: ConfX
When {{hbase.client.default.rpc.codec}} is set to {{org.apache.hadoop.hbase.regionserver.wal.SecureWALCellCodec}} the method {{createRpcClientRTEDuringConnectionSetup}} gives a NoSuchMethodException for the provided default codec value. Since there was an exception, the code inside try block is not executed which contained the below code line {noformat} try (AbstractRpcClient<?> client = createRpcClientRTEDuringConnectionSetup(clientConf)) { rpcServer.start(); . . . }{noformat} When finally block is executed which contains {noformat} finally { rpcServer.stop(); }{noformat} The method {{rpcServer.stop()}} eventually makes call to {{{}executor.shutdown(){}}}. A null pointer exception is returned as {{rpcServer.scheduler.executor}} was never instantiated, which happens inside {{rpcServer.start()}} {noformat} java.lang.NullPointerException at org.apache.hadoop.hbase.ipc.FifoRpcScheduler.stop(FifoRpcScheduler.java:71) at org.apache.hadoop.hbase.ipc.SimpleRpcServer.stop(SimpleRpcServer.java:441) at org.apache.hadoop.hbase.ipc.AbstractTestIPC.testRTEDuringConnectionSetup(AbstractTestIPC.java:194) . . .{noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)