[ 
https://issues.apache.org/jira/browse/HBASE-4980?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shrijeet Paliwal updated HBASE-4980:
------------------------------------

    Attachment: 0003-HBASE-4980-Fix-NPE-in-HBaseClient-receiveResponse.patch
    
> Null pointer exception in HBaseClient receiveResponse
> -----------------------------------------------------
>
>                 Key: HBASE-4980
>                 URL: https://issues.apache.org/jira/browse/HBASE-4980
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.92.0
>            Reporter: Shrijeet Paliwal
>              Labels: newbie
>         Attachments: 
> 0001-HBASE-4980-Fix-NPE-in-HBaseClient-receiveResponse.patch, 
> 0002-HBASE-4980-Fix-NPE-in-HBaseClient-receiveResponse.patch, 
> 0003-HBASE-4980-Fix-NPE-in-HBaseClient-receiveResponse.patch
>
>
> Relevant Stack trace: 
> 2011-11-30 13:10:26,557 [IPC Client (47) connection to 
> xx.xx.xx/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)
> {code}
>   if (LOG.isDebugEnabled())
>           LOG.debug(getName() + " got value #" + id);
>         Call call = calls.remove(id);
>         // Read the flag byte
>         byte flag = in.readByte();
>         boolean isError = ResponseFlag.isError(flag);
>         if (ResponseFlag.isLength(flag)) {
>           // Currently length if present is unused.
>           in.readInt();
>         }
>         int state = in.readInt(); // Read the state.  Currently unused.
>         if (isError) {
>           //noinspection ThrowableInstanceNeverThrown
>           call.setException(new RemoteException( WritableUtils.readString(in),
>               WritableUtils.readString(in)));
>         } else {
> {code}
> This line {code}Call call = calls.remove(id);{code}  may return a null 
> 'call'. It is so because if you have rpc timeout enable, we proactively clean 
> up other calls which have expired their lifetime along with the call for 
> which socket timeout exception happend.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to