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)

Reply via email to