You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2013/05/22 22:15:00 UTC

svn commit: r1485396 [2/2] - in /hbase/trunk: hbase-client/src/main/java/org/apache/hadoop/hbase/client/ hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ hbase-protoco...

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java?rev=1485396&r1=1485395&r2=1485396&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java Wed May 22 20:14:59 2013
@@ -30,6 +30,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.hadoop.hbase.CellScannable;
+import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
@@ -50,6 +52,7 @@ import org.apache.hadoop.hbase.exception
 import org.apache.hadoop.hbase.executor.EventType;
 import org.apache.hadoop.hbase.executor.ExecutorService;
 import org.apache.hadoop.hbase.executor.ExecutorType;
+import org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;
 import org.apache.hadoop.hbase.master.RegionState.State;
 import org.apache.hadoop.hbase.master.TableLockManager.NullTableLockManager;
 import org.apache.hadoop.hbase.master.balancer.DefaultLoadBalancer;
@@ -60,6 +63,7 @@ import org.apache.hadoop.hbase.protobuf.
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;
+import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultCellMeta;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;
 import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.Table;
@@ -81,6 +85,8 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.mockito.Mockito;
 import org.mockito.internal.util.reflection.Whitebox;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
 
 import com.google.protobuf.RpcController;
 import com.google.protobuf.ServiceException;
@@ -594,12 +600,25 @@ public class TestAssignmentManager {
       r = MetaMockingUtil.getMetaTableRowResult(REGIONINFO, SERVERNAME_A);
     }
 
-    ScanResponse.Builder builder = ScanResponse.newBuilder();
+    final ScanResponse.Builder builder = ScanResponse.newBuilder();
     builder.setMoreResults(true);
-    builder.addResult(ProtobufUtil.toResult(r));
+    ResultCellMeta.Builder metaBuilder = ResultCellMeta.newBuilder();
+    metaBuilder.addCellsLength(r.size());
+    builder.setResultCellMeta(metaBuilder.build());
+    final List<CellScannable> cellScannables = new ArrayList<CellScannable>(1);
+    cellScannables.add(r);
     Mockito.when(implementation.scan(
       (RpcController)Mockito.any(), (ScanRequest)Mockito.any())).
-        thenReturn(builder.build());
+      thenAnswer(new Answer<ScanResponse>() {
+          public ScanResponse answer(InvocationOnMock invocation) throws Throwable {
+            PayloadCarryingRpcController controller = (PayloadCarryingRpcController) invocation
+                .getArguments()[0];
+            if (controller != null) {
+              controller.setCellScanner(CellUtil.createCellScanner(cellScannables));
+            }
+            return builder.build();
+          }
+      });
 
     // Get a connection w/ mocked up common methods.
     HConnection connection =
@@ -1052,17 +1071,30 @@ public class TestAssignmentManager {
       Mockito.mock(ClientProtos.ClientService.BlockingInterface.class);
     // Get a meta row result that has region up on SERVERNAME_A for REGIONINFO
     Result r = MetaMockingUtil.getMetaTableRowResult(REGIONINFO, SERVERNAME_A);
-    ScanResponse.Builder builder = ScanResponse.newBuilder();
+    final ScanResponse.Builder builder = ScanResponse.newBuilder();
     builder.setMoreResults(true);
-    builder.addResult(ProtobufUtil.toResult(r));
+    ResultCellMeta.Builder metaBuilder = ResultCellMeta.newBuilder();
+    metaBuilder.addCellsLength(r.size());
+    builder.setResultCellMeta(metaBuilder.build());
+    final List<CellScannable> rows = new ArrayList<CellScannable>(1);
+    rows.add(r);
+    Answer<ScanResponse> ans = new Answer<ClientProtos.ScanResponse>() {
+      public ScanResponse answer(InvocationOnMock invocation) throws Throwable {
+        PayloadCarryingRpcController controller = (PayloadCarryingRpcController) invocation
+            .getArguments()[0];
+        if (controller != null) {
+          controller.setCellScanner(CellUtil.createCellScanner(rows));
+        }
+        return builder.build();
+      }
+    };
     if (enabling) {
       Mockito.when(ri.scan((RpcController) Mockito.any(), (ScanRequest) Mockito.any()))
-          .thenReturn(builder.build()).thenReturn(builder.build()).thenReturn(builder.build())
-          .thenReturn(builder.build()).thenReturn(builder.build())
+          .thenAnswer(ans).thenAnswer(ans).thenAnswer(ans).thenAnswer(ans).thenAnswer(ans)
           .thenReturn(ScanResponse.newBuilder().setMoreResults(false).build());
     } else {
-      Mockito.when(ri.scan((RpcController) Mockito.any(), (ScanRequest) Mockito.any())).thenReturn(
-          builder.build());
+      Mockito.when(ri.scan((RpcController) Mockito.any(), (ScanRequest) Mockito.any())).thenAnswer(
+          ans);
     }
     // If a get, return the above result too for REGIONINFO
     GetResponse.Builder getBuilder = GetResponse.newBuilder();

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java?rev=1485396&r1=1485395&r2=1485396&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java Wed May 22 20:14:59 2013
@@ -39,6 +39,7 @@ import org.apache.hadoop.hbase.HConstant
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.LargeTests;
 import org.apache.hadoop.hbase.exceptions.NotServingRegionException;
+import org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.Stoppable;
 import org.apache.hadoop.hbase.client.Get;
@@ -156,7 +157,7 @@ public class TestEndToEndSplitTransactio
       ScanRequest scanRequest = RequestConverter.buildScanRequest(
         regionName, new Scan(row), 1, true);
       try {
-        server.scan(null, scanRequest);
+        server.scan(new PayloadCarryingRpcController(), scanRequest);
       } catch (ServiceException se) {
         throw ProtobufUtil.getRemoteException(se);
       }