hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Liochon (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-8380) NPE in HBaseClient$Connection.readResponse
Date Fri, 19 Apr 2013 14:25:17 GMT
Nicolas Liochon created HBASE-8380:
--------------------------------------

             Summary: NPE in HBaseClient$Connection.readResponse
                 Key: HBASE-8380
                 URL: https://issues.apache.org/jira/browse/HBASE-8380
             Project: HBase
          Issue Type: Bug
          Components: Client
    Affects Versions: 0.95.0
         Environment: aws, real cluster, 3 nodes
            Reporter: Nicolas Liochon


Stack is:
{noformat}
2013-04-19 09:22:45,991 WARN  [IPC Client (682317035) connection to ip-10-6-131-32.ec2.internal/10.6.131.32:60020
from root] ipc.HBaseClient (HBaseClient.java:run(664)) - IPC Client (682317035) connection
to ip-10-6-131-32.ec2.internal/10.6.131.32:60020 from root: unexpected exception receiving
call responses
java.lang.RuntimeException: java.lang.NullPointerException
	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.readResponse(HBaseClient.java:1017)
	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.run(HBaseClient.java:661)
Caused by: java.lang.NullPointerException
	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.readResponse(HBaseClient.java:1013)
	... 1 more
 1197 sec: 3411081 operations; 324,27 current ops/sec; [INSERT AverageLatency(us)=29332,6]

{noformat}

Code:

{code}
    protected void readResponse() {
      if (shouldCloseConnection.get()) return;
      touch();
      try {
        // See HBaseServer.Call.setResponse for where we write out the response.

        // Total size of the response.  Unused.  But have to read it in anyways.
        /*int totalSize =*/ in.readInt();

        // Read the header
        ResponseHeader responseHeader = ResponseHeader.parseDelimitedFrom(in);
        int id = responseHeader.getCallId();
        if (LOG.isDebugEnabled()) {
          LOG.debug(getName() + ": got response header " +
            TextFormat.shortDebugString(responseHeader));
        }
        Call call = calls.get(id);
        if (responseHeader.hasException()) {
          ExceptionResponse exceptionResponse = responseHeader.getException();
          RemoteException re = createRemoteException(exceptionResponse);
          if (isFatalConnectionException(exceptionResponse)) {
            markClosed(re);
          } else {
            if (call != null) call.setException(re);
          }
        } else {
          Message rpcResponseType;
          try {
            // TODO: Why pb engine pollution in here in this class?  FIX.
            rpcResponseType =
              ProtobufRpcClientEngine.Invoker.getReturnProtoType(
                reflectionCache.getMethod(remoteId.getProtocol(), call.method.getName()));
 <=========== NPE, because call is null
          } catch (Exception e) {
            throw new RuntimeException(e); //local exception
          }
{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message