[ https://issues.apache.org/jira/browse/HBASE-14050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14621049#comment-14621049 ]
Andrew Purtell commented on HBASE-14050: ---------------------------------------- We set the dataLengthBuffer field to null in Connection#close. close is synchronized to prevent multiple threads from concurrently executing that method but this is only a partially synchronized class by design. We can get this NPE while closing when another thread is in Connection#readAndProcess. It is harmless but ugly. Do we need to touch dataLengthBuffer in close()? Looks gratuitous. We don't take any special action anywhere if if dataLengthBuffer is null. > NPE in org.apache.hadoop.hbase.ipc.RpcServer$Connection.readAndProcess > ---------------------------------------------------------------------- > > Key: HBASE-14050 > URL: https://issues.apache.org/jira/browse/HBASE-14050 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.12.1 > Reporter: Andrew Purtell > Priority: Minor > > {noformat} > 2015-07-02 09:49:32,028 WARN [.reader=4,port=60020] ipc.RpcServer - > RpcServer.listener,port=60020: count of bytes read: 0 > java.lang.NullPointerException > at > org.apache.hadoop.hbase.ipc.RpcServer$Connection.readAndProcess(RpcServer.java:1479) > at > org.apache.hadoop.hbase.ipc.RpcServer$Listener.doRead(RpcServer.java:854) > at > org.apache.hadoop.hbase.ipc.RpcServer$Listener$Reader.doRunLoop(RpcServer.java:645) > at > org.apache.hadoop.hbase.ipc.RpcServer$Listener$Reader.run(RpcServer.java:620) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)