You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2013/08/14 22:48:54 UTC

svn commit: r1514036 - in /hbase/trunk: hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/

Author: jdcryans
Date: Wed Aug 14 20:48:54 2013
New Revision: 1514036

URL: http://svn.apache.org/r1514036
Log:
HBASE-8719 Fix responseTooSlow formatting

Modified:
    hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcCallContext.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Modified: hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java?rev=1514036&r1=1514035&r2=1514036&view=diff
==============================================================================
--- hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java (original)
+++ hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java Wed Aug 14 20:48:54 2013
@@ -2227,10 +2227,29 @@ public final class ProtobufUtil {
       return TextFormat.shortDebugString(m);
     } else if (m instanceof MutationProto) {
       return toShortString((MutationProto)m);
+    } else if (m instanceof GetRequest) {
+      GetRequest r = (GetRequest) m;
+      return "region= " + getStringForByteString(r.getRegion().getValue()) +
+          ", row=" + getStringForByteString(r.getGet().getRow());
+    } else if (m instanceof ClientProtos.MultiRequest) {
+      ClientProtos.MultiRequest r = (ClientProtos.MultiRequest) m;
+      ClientProtos.MultiAction action = r.getActionList().get(0);
+      return "region= " + getStringForByteString(r.getRegion().getValue()) +
+          ", for " + r.getActionCount() +
+          " actions and 1st row key=" + getStringForByteString(action.hasMutation() ?
+          action.getMutation().getRow() : action.getGet().getRow());
+    } else if (m instanceof ClientProtos.MutateRequest) {
+      ClientProtos.MutateRequest r = (ClientProtos.MutateRequest) m;
+      return "region= " + getStringForByteString(r.getRegion().getValue()) +
+          ", row=" + getStringForByteString(r.getMutation().getRow());
     }
     return "TODO: " + m.getClass().toString();
   }
 
+  private static String getStringForByteString(ByteString bs) {
+    return Bytes.toStringBinary(bs.toByteArray());
+  }
+
   /**
    * Print out some subset of a MutationProto rather than all of it and its data
    * @param proto Protobuf to print out

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcCallContext.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcCallContext.java?rev=1514036&r1=1514035&r2=1514036&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcCallContext.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcCallContext.java Wed Aug 14 20:48:54 2013
@@ -24,5 +24,5 @@ public interface RpcCallContext extends 
    * If called from outside the context of IPC, this does nothing.
    * @throws CallerDisconnectedException
    */
-  void throwExceptionIfCallerDisconnected() throws CallerDisconnectedException;
+  void throwExceptionIfCallerDisconnected(String regionName) throws CallerDisconnectedException;
 }

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java?rev=1514036&r1=1514035&r2=1514036&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java Wed Aug 14 20:48:54 2013
@@ -437,12 +437,14 @@ public class RpcServer implements RpcSer
     }
 
     @Override
-    public void throwExceptionIfCallerDisconnected() throws CallerDisconnectedException {
+    public void throwExceptionIfCallerDisconnected(String regionName)
+        throws CallerDisconnectedException {
       if (!connection.channel.isOpen()) {
         long afterTime = System.currentTimeMillis() - timestamp;
         throw new CallerDisconnectedException(
-            "Aborting call " + this + " after " + afterTime + " ms, since " +
-            "caller disconnected");
+            "Aborting on region " + regionName + ", call " +
+             this + " after " + afterTime + " ms, since " +
+             "caller disconnected");
       }
     }
 

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1514036&r1=1514035&r2=1514036&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Wed Aug 14 20:48:54 2013
@@ -3607,7 +3607,7 @@ public class HRegion implements HeapSize
           // client might time out and disconnect while the server side
           // is still processing the request. We should abort aggressively
           // in that case.
-          rpcCall.throwExceptionIfCallerDisconnected();
+          rpcCall.throwExceptionIfCallerDisconnected(getRegionNameAsString());
         }
 
         // Let's see what we have in the storeHeap.