hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-4980) Null pointer exception in HBaseClient receiveResponse
Date Thu, 08 Dec 2011 22:25:39 GMT

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

stack updated HBASE-4980:
-------------------------

       Resolution: Fixed
    Fix Version/s: 0.92.0
         Assignee: Shrijeet Paliwal
     Hadoop Flags: Reviewed
           Status: Resolved  (was: Patch Available)

Committed trunk and branch.  Thanks for the patch Shrjeet.
                
> 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
>            Assignee: Shrijeet Paliwal
>              Labels: newbie
>             Fix For: 0.92.0
>
>         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

        

Mime
View raw message