I think your analysis makes sense. In the else block which is not shown in the snippet, we actually check against null value.
Do you mind filing a Jira ? Thanks On Dec 7, 2011, at 5:30 PM, Shrijeet Paliwal <[email protected]> wrote: > Hi, > Version in which I observed issue: 0.90.3 + RPC timeout patch > Version affected : trunk > > Stack trace: > > 2011-11-30 13:10:26,557 [IPC Client (47) connection to > inw-68.rfiserve.net/172.22.4.68:60020 from an unknown user] WARN > org.apache.hadoop.ipc.HBaseClient - Unexpected exception receiving call > responses > java.lang.NullPointerException >> -at > org.apache.hadoop.hbase.ipc.HBaseClient$Connection.receiveResponse(HBaseClient.java:583) >> -at > org.apache.hadoop.hbase.ipc.HBaseClient$Connection.run(HBaseClient.java:511) > > I think line number #3 here http://pastie.org/2983633 may return a null > 'call'. It is so because if you rpc timeout enable, we proactively clean up > other calls which have expired their lifetime along with the call for which > socket > timeout exception happend (refer to this method : private void > cleanupCalls(long rpcTimeout)) . > > Please let me know if what I am thinking makes sense. > > -Shrijeet
