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

Reply via email to