Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13318

RpcServer.getListenerAddress should handle when the accept channel is closed

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      We just saw exceptions like these:

      Exception in thread "B.DefaultRpcServer.handler=45,queue=0,port=60020" java.lang.NullPointerException
      	at org.apache.hadoop.hbase.ipc.RpcServer$Listener.getAddress(RpcServer.java:753)
      	at org.apache.hadoop.hbase.ipc.RpcServer.getListenerAddress(RpcServer.java:2157)
      	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:146)
      	at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
      	at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
      	at java.lang.Thread.run(Thread.java:745)
      

      Looks like RpcServer$Listener.getAddress should be synchronized (acceptChannel is set to null upon exiting the thread under in a synchronized block).

      Should be happening very rarely only.

      Attachments

        1. HBASE-13318.patch
          24 kB
          Andrew Kyle Purtell

        Activity

          People

            apurtell Andrew Kyle Purtell
            larsh Lars Hofhansl
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: