You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2017/08/29 16:02:59 UTC

hbase git commit: HBASE-18665 ReversedScannerCallable invokes getRegionLocations incorrectly - revert due to compilation error

Repository: hbase
Updated Branches:
  refs/heads/branch-1.1 bdc1c2fee -> b8a5b1344


HBASE-18665 ReversedScannerCallable invokes getRegionLocations incorrectly - revert due to compilation error


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b8a5b134
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b8a5b134
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b8a5b134

Branch: refs/heads/branch-1.1
Commit: b8a5b13442d9079613221adc7ed84498bf19a3d7
Parents: bdc1c2f
Author: tedyu <yu...@gmail.com>
Authored: Tue Aug 29 09:02:48 2017 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Tue Aug 29 09:02:48 2017 -0700

----------------------------------------------------------------------
 .../hbase/client/ReversedScannerCallable.java   |  8 +-
 .../RpcRetryingCallerWithReadReplicas.java      |  6 +-
 .../client/TestReversedScannerCallable.java     | 97 --------------------
 3 files changed, 7 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b8a5b134/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java
index b3fa0f3..f400e83 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java
@@ -102,8 +102,8 @@ public class ReversedScannerCallable extends ScannerCallable {
     if (!instantiated || reload) {
       if (locateStartRow == null) {
         // Just locate the region with the row
-        RegionLocations rl = RpcRetryingCallerWithReadReplicas.getRegionLocations(!reload, id,
-            getConnection(), getTableName(), getRow());
+        RegionLocations rl = RpcRetryingCallerWithReadReplicas.getRegionLocations(reload, id,
+            getConnection(), tableName, row);
         this.location = id < rl.size() ? rl.getRegionLocation(id) : null;
         if (this.location == null) {
           throw new IOException("Failed to find location, tableName="
@@ -160,8 +160,8 @@ public class ReversedScannerCallable extends ScannerCallable {
     List<HRegionLocation> regionList = new ArrayList<HRegionLocation>();
     byte[] currentKey = startKey;
     do {
-      RegionLocations rl = RpcRetryingCallerWithReadReplicas.getRegionLocations(!reload, id,
-          getConnection(), getTableName(), currentKey);
+      RegionLocations rl = RpcRetryingCallerWithReadReplicas.getRegionLocations(reload, id,
+          getConnection(), tableName, currentKey);
       HRegionLocation regionLocation = id < rl.size() ? rl.getRegionLocation(id) : null;
       if (regionLocation != null && regionLocation.getRegionInfo().containsRow(currentKey)) {
         regionList.add(regionLocation);

http://git-wip-us.apache.org/repos/asf/hbase/blob/b8a5b134/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
index 0bf870e..50fdc5b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
@@ -294,10 +294,10 @@ public class RpcRetryingCallerWithReadReplicas {
 
     RegionLocations rl;
     try {
-      if (useCache) {
-        rl = cConnection.locateRegion(tableName, row, true, true, replicaId);
-      } else {
+      if (!useCache) {
         rl = cConnection.relocateRegion(tableName, row, replicaId);
+      } else {
+        rl = cConnection.locateRegion(tableName, row, useCache, true, replicaId);
       }
     } catch (DoNotRetryIOException e) {
       throw e;

http://git-wip-us.apache.org/repos/asf/hbase/blob/b8a5b134/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestReversedScannerCallable.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestReversedScannerCallable.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestReversedScannerCallable.java
deleted file mode 100644
index 6c2d0a6..0000000
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestReversedScannerCallable.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hbase.client;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HRegionInfo;
-import org.apache.hadoop.hbase.HRegionLocation;
-import org.apache.hadoop.hbase.RegionLocations;
-import org.apache.hadoop.hbase.ServerName;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.ipc.RpcControllerFactory;
-import org.apache.hadoop.hbase.testclassification.ClientTests;
-import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-@Category({ ClientTests.class, SmallTests.class })
-public class TestReversedScannerCallable {
-
-  @Mock
-  private ClusterConnection connection;
-  @Mock
-  private Scan scan;
-  @Mock
-  private RpcControllerFactory rpcFactory;
-  @Mock
-  private RegionLocations regionLocations;
-
-  private final byte[] ROW = Bytes.toBytes("row1");
-
-  @Before
-  public void setUp() throws Exception {
-    byte[] ROW_BEFORE = ConnectionUtils.createCloseRowBefore(ROW);
-
-    Configuration conf = Mockito.mock(Configuration.class);
-    HRegionLocation regionLocation = Mockito.mock(HRegionLocation.class);
-    ServerName serverName = Mockito.mock(ServerName.class);
-    HRegionInfo regionInfo = Mockito.mock(HRegionInfo.class);
-
-    Mockito.when(connection.getConfiguration()).thenReturn(conf);
-    Mockito.when(regionLocations.size()).thenReturn(1);
-    Mockito.when(regionLocations.getRegionLocation(0)).thenReturn(regionLocation);
-    Mockito.when(regionLocation.getHostname()).thenReturn("localhost");
-    Mockito.when(regionLocation.getRegionInfo()).thenReturn(regionInfo);
-    Mockito.when(regionLocation.getServerName()).thenReturn(serverName);
-    Mockito.when(regionInfo.containsRow(ROW_BEFORE)).thenReturn(true);
-    Mockito.when(scan.includeStartRow()).thenReturn(true);
-    Mockito.when(scan.getStartRow()).thenReturn(ROW);
-  }
-
-  @Test
-  public void testPrepareDoesNotUseCache() throws Exception {
-    TableName tableName = TableName.valueOf("MyTable");
-    Mockito.when(connection.relocateRegion(tableName, ROW, 0)).thenReturn(regionLocations);
-
-    ReversedScannerCallable callable =
-        new ReversedScannerCallable(connection, tableName, scan, null, rpcFactory);
-    callable.prepare(true);
-
-    Mockito.verify(connection).relocateRegion(tableName, ROW, 0);
-  }
-
-  @Test
-  public void testPrepareUsesCache() throws Exception {
-    TableName tableName = TableName.valueOf("MyTable");
-    Mockito.when(connection.locateRegion(tableName, ROW, true, true, 0))
-        .thenReturn(regionLocations);
-
-    ReversedScannerCallable callable =
-        new ReversedScannerCallable(connection, tableName, scan, null, rpcFactory);
-    callable.prepare(false);
-
-    Mockito.verify(connection).locateRegion(tableName, ROW, true, true, 0);
-  }
-}