From 3575d75e290b6bbc30902087df2768e79652abac Mon Sep 17 00:00:00 2001 From: zhangduo Date: Sun, 31 Mar 2019 21:37:49 +0800 Subject: [PATCH] HBASE-22108 Avoid passing null in Admin methods --- .../hbase/backup/TestIncrementalBackup.java | 2 +- .../org/apache/hadoop/hbase/client/Admin.java | 62 +++++++++++++++---- .../hadoop/hbase/client/HBaseAdmin.java | 23 ++++--- .../hadoop/hbase/chaos/actions/Action.java | 3 +- .../actions/MoveRegionsOfTableAction.java | 4 +- .../SplitRandomRegionOfTableAction.java | 2 +- .../hbase/rsgroup/TestRSGroupsAdmin2.java | 7 +-- .../hbase/rsgroup/TestRSGroupsBalance.java | 2 +- .../rsgroup/TestRSGroupsOfflineMode.java | 3 +- .../normalizer/SplitNormalizationPlan.java | 2 +- .../apache/hadoop/hbase/util/RegionMover.java | 4 +- .../hadoop/hbase/HBaseTestingUtility.java | 3 +- .../TestPartialResultsFromClientSide.java | 3 +- .../hbase/client/RegionReplicaTestHelper.java | 3 +- .../hadoop/hbase/client/TestAdmin1.java | 2 +- .../hadoop/hbase/client/TestAdmin2.java | 2 +- .../client/TestAsyncNonMetaRegionLocator.java | 5 +- ...stAsyncSingleRequestRpcRetryingCaller.java | 7 +-- .../TestAsyncTableGetMultiThreaded.java | 3 +- .../client/TestConnectionImplementation.java | 20 ++---- .../hbase/client/TestFromClientSide.java | 3 +- .../hbase/client/TestHBaseAdminNoCluster.java | 2 +- .../hbase/client/TestMetaWithReplicas.java | 6 +- .../client/TestMvccConsistentScanner.java | 3 +- .../client/TestSeparateClientZKCluster.java | 6 +- .../client/TestSnapshotCloneIndependence.java | 2 +- .../TestRegionObserverInterface.java | 4 +- .../hadoop/hbase/master/AbstractTestDLS.java | 3 +- .../TestCatalogJanitorInMemoryStates.java | 2 +- .../master/TestCloseAnOpeningRegion.java | 6 +- .../hadoop/hbase/master/TestMaster.java | 4 +- ...estMasterHandlerFullWhenTransitRegion.java | 2 +- .../TestCloseRegionWhileRSCrash.java | 6 +- .../TestFavoredStochasticBalancerPickers.java | 3 +- .../regionserver/TestCleanupMetaWAL.java | 2 +- .../regionserver/TestHRegionOnCluster.java | 6 +- .../TestOpenSeqNumUnexpectedIncrease.java | 3 +- .../hbase/regionserver/TestRegionMove.java | 6 +- .../TestSplitTransactionOnCluster.java | 8 +-- .../SerialReplicationTestBase.java | 3 +- .../TestSerialSyncReplication.java | 3 +- .../security/access/TestAccessController.java | 3 +- .../hbase/thrift2/client/ThriftAdmin.java | 11 +++- 43 files changed, 139 insertions(+), 120 deletions(-) diff --git a/hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackup.java b/hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackup.java index 525845cb68..749839cd92 100644 --- a/hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackup.java +++ b/hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestIncrementalBackup.java @@ -133,7 +133,7 @@ public class TestIncrementalBackup extends TestBackupBase { long startSplitTime = EnvironmentEdgeManager.currentTime(); try { - admin.splitRegionAsync(name, null).get(); + admin.splitRegionAsync(name).get(); } catch (Exception e) { // although split fail, this may not affect following check in current API, // exception will be thrown. diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java index 33b44c3fcf..0f59c235b8 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java @@ -59,6 +59,7 @@ import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException; import org.apache.hadoop.hbase.snapshot.SnapshotCreationException; import org.apache.hadoop.hbase.snapshot.UnknownSnapshotException; +import org.apache.hadoop.hbase.util.Bytes; import org.apache.yetus.audience.InterfaceAudience; /** @@ -671,19 +672,49 @@ public interface Admin extends Abortable, Closeable { void majorCompactRegionServer(ServerName serverName) throws IOException; /** - * Move the region r to dest. - * + * Move the region encodedRegionName to a random server. + * @param encodedRegionName The encoded region name; i.e. the hash that makes up the region name + * suffix: e.g. if regionname is + * TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396., + * then the encoded region name is: 527db22f95c8a9e0116f0cc13c680396. + * @throws IOException if we can't find a region named encodedRegionName + */ + void move(byte[] encodedRegionName) throws IOException; + + /** + * Move the region rencodedRegionName to destServerName. + * @param encodedRegionName The encoded region name; i.e. the hash that makes up the region name + * suffix: e.g. if regionname is + * TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396., + * then the encoded region name is: 527db22f95c8a9e0116f0cc13c680396. + * @param destServerName The servername of the destination regionserver. If passed the empty byte + * array we'll assign to a random server. A server name is made of host, port and + * startcode. Here is an example: host187.example.com,60020,1289493121758 + * @throws IOException if we can't find a region named encodedRegionName + * @deprecated Use {@link #move(byte[], ServerName)} instead. And if you want to move the region + * to a random server, please use {@link #move(byte[])}. + */ + @Deprecated + default void move(byte[] encodedRegionName, byte[] destServerName) throws IOException { + if (destServerName == null || destServerName.length == 0) { + move(encodedRegionName); + } else { + move(encodedRegionName, ServerName.valueOf(Bytes.toString(destServerName))); + } + } + + /** + * Move the region rencodedRegionName to destServerName. * @param encodedRegionName The encoded region name; i.e. the hash that makes up the region name - * suffix: e.g. if regionname is - * TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396., - * then the encoded region name is: 527db22f95c8a9e0116f0cc13c680396. - * @param destServerName The servername of the destination regionserver. If passed the empty byte - * array we'll assign to a random server. A server name is made of host, port and startcode. - * Here is an example: host187.example.com,60020,1289493121758 - * @throws IOException if we can't find a region named - * encodedRegionName + * suffix: e.g. if regionname is + * TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396., + * then the encoded region name is: 527db22f95c8a9e0116f0cc13c680396. + * @param destServerName The servername of the destination regionserver. A server name is made of + * host, port and startcode. Here is an example: + * host187.example.com,60020,1289493121758 + * @throws IOException if we can't find a region named encodedRegionName */ - void move(byte[] encodedRegionName, byte[] destServerName) throws IOException; + void move(byte[] encodedRegionName, ServerName destServerName) throws IOException; /** * Assign a Region. @@ -694,7 +725,7 @@ public interface Admin extends Abortable, Closeable { /** * Unassign a region from current hosting regionserver. Region will then be assigned to a * regionserver chosen at random. Region could be reassigned back to the same server. Use {@link - * #move(byte[], byte[])} if you want to control the region movement. + * #move(byte[], ServerName)} if you want to control the region movement. * * @param regionName Region to unassign. Will clear any existing RegionPlan if one found. * @param force If true, force unassign (Will remove region from regions-in-transition too if @@ -874,6 +905,13 @@ public interface Admin extends Abortable, Closeable { */ void split(TableName tableName, byte[] splitPoint) throws IOException; + /** + * Split an individual region. Asynchronous operation. + * @param regionName region to split + * @throws IOException if a remote or network exception occurs + */ + Future splitRegionAsync(byte[] regionName) throws IOException; + /** * Split an individual region. Asynchronous operation. * @param regionName region to split diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java index 442fd8182c..b364bbc216 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java @@ -1153,14 +1153,17 @@ public class HBaseAdmin implements Admin { } @Override - public void move(final byte[] encodedRegionName, final byte[] destServerName) throws IOException { + public void move(byte[] encodedRegionName) throws IOException { + move(encodedRegionName, (ServerName) null); + } + + public void move(final byte[] encodedRegionName, ServerName destServerName) throws IOException { executeCallable(new MasterCallable(getConnection(), getRpcControllerFactory()) { @Override protected Void rpcCall() throws Exception { setPriority(encodedRegionName); MoveRegionRequest request = - RequestConverter.buildMoveRegionRequest(encodedRegionName, - destServerName != null ? ServerName.valueOf(Bytes.toString(destServerName)) : null); + RequestConverter.buildMoveRegionRequest(encodedRegionName, destServerName); master.moveRegion(getRpcController(), request); return null; } @@ -1528,12 +1531,9 @@ public class HBaseAdmin implements Admin { * @param units time units * @throws IOException */ - public void splitRegionSync(byte[] regionName, byte[] splitPoint, - final long timeout, final TimeUnit units) throws IOException { - get( - splitRegionAsync(regionName, splitPoint), - timeout, - units); + public void splitRegionSync(byte[] regionName, byte[] splitPoint, final long timeout, + final TimeUnit units) throws IOException { + get(splitRegionAsync(regionName, splitPoint), timeout, units); } @Override @@ -3861,4 +3861,9 @@ public class HBaseAdmin implements Admin { @Override public void close() { } + + @Override + public Future splitRegionAsync(byte[] regionName) throws IOException { + return splitRegionAsync(regionName, null); + } } diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java index e90a269c6f..13b6b9d8ed 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/Action.java @@ -28,7 +28,6 @@ import java.util.Map; import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Consumer; - import org.apache.commons.lang3.RandomUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.ClusterMetrics; @@ -253,7 +252,7 @@ public class Action { break; } int targetIx = RandomUtils.nextInt(0, toServers.size()); - admin.move(victimRegion, Bytes.toBytes(toServers.get(targetIx).getServerName())); + admin.move(victimRegion, toServers.get(targetIx)); } } diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java index 4c868a8a34..1f2f64612f 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java @@ -96,9 +96,9 @@ public class MoveRegionsOfTableAction extends Action { static void moveRegion(Admin admin, ServerName [] servers, RegionInfo regionInfo) { try { - String destServerName = servers[RandomUtils.nextInt(0, servers.length)].getServerName(); + ServerName destServerName = servers[RandomUtils.nextInt(0, servers.length)]; LOG.debug("Moving {} to {}", regionInfo.getRegionNameAsString(), destServerName); - admin.move(regionInfo.getEncodedNameAsBytes(), Bytes.toBytes(destServerName)); + admin.move(regionInfo.getEncodedNameAsBytes(), destServerName); } catch (Exception ex) { LOG.warn("Move failed, might be caused by other chaos: {}", ex.getMessage()); } diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java index 890ff9207b..7892a0a706 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/SplitRandomRegionOfTableAction.java @@ -61,7 +61,7 @@ public class SplitRandomRegionOfTableAction extends Action { regions.toArray(new RegionInfo[regions.size()])); LOG.debug("Splitting region " + region.getRegionNameAsString()); try { - admin.splitRegionAsync(region.getRegionName(), null).get(); + admin.splitRegionAsync(region.getRegionName()).get(); } catch (Exception ex) { LOG.warn("Split failed, might be caused by other chaos: " + ex.getMessage()); } diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java index ccdbbc0ad9..d18bb669df 100644 --- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java +++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java @@ -128,9 +128,8 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase { }); // Lets move this region to the new group. - TEST_UTIL.getAdmin().move( - Bytes.toBytes(RegionInfo.encodeRegionName(Bytes.toBytes(targetRegion))), - Bytes.toBytes(targetServer.getServerName())); + TEST_UTIL.getAdmin() + .move(Bytes.toBytes(RegionInfo.encodeRegionName(Bytes.toBytes(targetRegion))), targetServer); TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate() { @Override public boolean evaluate() throws Exception { @@ -362,7 +361,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase { for (String region : regionList) { // Lets move this region to the targetServer TEST_UTIL.getAdmin().move(Bytes.toBytes(RegionInfo.encodeRegionName(Bytes.toBytes(region))), - Bytes.toBytes(targetServer.getServerName())); + targetServer); } TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate() { diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java index 53cefe3aee..67f5c7ee75 100644 --- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java +++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java @@ -106,7 +106,7 @@ public class TestRSGroupsBalance extends TestRSGroupsBase { final ServerName first = assignMap.entrySet().iterator().next().getKey(); for (RegionInfo region : admin.getRegions(tableName)) { if (!assignMap.get(first).contains(region.getRegionNameAsString())) { - admin.move(region.getEncodedNameAsBytes(), Bytes.toBytes(first.getServerName())); + admin.move(region.getEncodedNameAsBytes(), first); } } TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate() { diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java index 8058439a94..39cf164ecf 100644 --- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java +++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java @@ -118,8 +118,7 @@ public class TestRSGroupsOfflineMode { if (master.getAssignmentManager().getRegionStates().getRegionAssignments() .containsValue(failoverRS.getServerName())) { for (RegionInfo regionInfo : hbaseAdmin.getRegions(failoverRS.getServerName())) { - hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(failoverRS.getServerName().getServerName())); + hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), failoverRS.getServerName()); } LOG.info("Waiting for region unassignments on failover RS..."); TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate() { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java index 3899342644..04e11d15a8 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.java @@ -76,7 +76,7 @@ public class SplitNormalizationPlan implements NormalizationPlan { public void execute(Admin admin) { LOG.info("Executing splitting normalization plan: " + this); try { - admin.splitRegionAsync(regionInfo.getRegionName(), null).get(); + admin.splitRegionAsync(regionInfo.getRegionName()).get(); } catch (Exception ex) { LOG.error("Error during region split: ", ex); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java index 70a4f0eea9..fdd079e134 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java @@ -271,7 +271,7 @@ public class RegionMover extends AbstractHBaseTool implements Closeable { LOG.info("Retry " + Integer.toString(count) + " of maximum " + Integer.toString(retries)); } count = count + 1; - admin.move(region.getEncodedNameAsBytes(), Bytes.toBytes(targetServer.getServerName())); + admin.move(region.getEncodedNameAsBytes(), targetServer); long maxWait = startTime + (maxWaitInSeconds * 1000); while (EnvironmentEdgeManager.currentTime() < maxWait) { sameServer = isSameServer(region, sourceServer); @@ -321,7 +321,7 @@ public class RegionMover extends AbstractHBaseTool implements Closeable { try { LOG.info("Moving region:" + region.getEncodedName() + " from " + sourceServer + " to " + targetServer); - admin.move(region.getEncodedNameAsBytes(), Bytes.toBytes(targetServer.getServerName())); + admin.move(region.getEncodedNameAsBytes(), targetServer); LOG.info("Moved " + region.getEncodedName() + " from " + sourceServer + " to " + targetServer); } catch (Exception e) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index 516c3d8180..805613dcb7 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -3483,8 +3483,7 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility { throws InterruptedException, IOException { HMaster master = getMiniHBaseCluster().getMaster(); // TODO: Here we start the move. The move can take a while. - getAdmin().move(destRegion.getEncodedNameAsBytes(), - Bytes.toBytes(destServer.getServerName())); + getAdmin().move(destRegion.getEncodedNameAsBytes(), destServer); while (true) { ServerName serverName = master.getAssignmentManager().getRegionStates() .getRegionServerOfRegion(destRegion); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.java index bf47e5be5c..d1df8f076c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.java @@ -828,8 +828,7 @@ public class TestPartialResultsFromClientSide { assertEquals(1, regions.size()); RegionInfo regionInfo = regions.get(0).getFirst(); ServerName name = TEST_UTIL.getHBaseCluster().getRegionServer(index).getServerName(); - TEST_UTIL.getAdmin().move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(name.getServerName())); + TEST_UTIL.getAdmin().move(regionInfo.getEncodedNameAsBytes(), name); } private void assertCell(Cell cell, byte[] row, byte[] cf, byte[] cq) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RegionReplicaTestHelper.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RegionReplicaTestHelper.java index c14f69f5eb..b9aa0e6e67 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RegionReplicaTestHelper.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RegionReplicaTestHelper.java @@ -89,8 +89,7 @@ final class RegionReplicaTestHelper { ServerName newServerName = util.getHBaseCluster().getRegionServerThreads().stream() .map(t -> t.getRegionServer().getServerName()).filter(sn -> !sn.equals(serverName)).findAny() .get(); - util.getAdmin().move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(newServerName.getServerName())); + util.getAdmin().move(regionInfo.getEncodedNameAsBytes(), newServerName); util.waitFor(30000, new ExplainingPredicate() { @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin1.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin1.java index 87db47a527..ba118583d9 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin1.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin1.java @@ -1198,7 +1198,7 @@ public class TestAdmin1 { // the element at index 1 would be a replica (since the metareader gives us ordered // regions). Try splitting that region via the split API . Should fail try { - TEST_UTIL.getAdmin().splitRegionAsync(regions.get(1).getFirst().getRegionName(), null).get(); + TEST_UTIL.getAdmin().splitRegionAsync(regions.get(1).getFirst().getRegionName()).get(); } catch (IllegalArgumentException ex) { gotException = true; } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java index b92875057b..f4aafc0324 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java @@ -443,7 +443,7 @@ public class TestAdmin2 { RegionInfo hri = tableRegions.get(0); AssignmentManager am = master.getAssignmentManager(); ServerName server = am.getRegionStates().getRegionServerOfRegion(hri); - localAdmin.move(hri.getEncodedNameAsBytes(), Bytes.toBytes(server.getServerName())); + localAdmin.move(hri.getEncodedNameAsBytes(), server); assertEquals("Current region server and region server before move should be same.", server, am.getRegionStates().getRegionServerOfRegion(hri)); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.java index cb09b79240..042e0673e5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncNonMetaRegionLocator.java @@ -249,8 +249,7 @@ public class TestAsyncNonMetaRegionLocator { .map(t -> t.getRegionServer().getServerName()).filter(sn -> !sn.equals(serverName)).findAny() .get(); - TEST_UTIL.getAdmin().move(Bytes.toBytes(loc.getRegion().getEncodedName()), - Bytes.toBytes(newServerName.getServerName())); + TEST_UTIL.getAdmin().move(Bytes.toBytes(loc.getRegion().getEncodedName()), newServerName); while (!TEST_UTIL.getRSForFirstRegionInTable(TABLE_NAME).getServerName() .equals(newServerName)) { Thread.sleep(100); @@ -326,7 +325,7 @@ public class TestAsyncNonMetaRegionLocator { .get(); Admin admin = TEST_UTIL.getAdmin(); RegionInfo region = admin.getRegions(TABLE_NAME).stream().findAny().get(); - admin.move(region.getEncodedNameAsBytes(), Bytes.toBytes(newServerName.getServerName())); + admin.move(region.getEncodedNameAsBytes(), newServerName); TEST_UTIL.waitFor(30000, new ExplainingPredicate() { @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.java index 7d8956b542..8959c1d4f3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.java @@ -87,15 +87,14 @@ public class TestAsyncSingleRequestRpcRetryingCaller { // This will leave a cached entry in location cache HRegionLocation loc = CONN.getRegionLocator(TABLE_NAME).getRegionLocation(ROW).get(); int index = TEST_UTIL.getHBaseCluster().getServerWith(loc.getRegion().getRegionName()); - TEST_UTIL.getAdmin().move(loc.getRegion().getEncodedNameAsBytes(), Bytes.toBytes( - TEST_UTIL.getHBaseCluster().getRegionServer(1 - index).getServerName().getServerName())); + TEST_UTIL.getAdmin().move(loc.getRegion().getEncodedNameAsBytes(), + TEST_UTIL.getHBaseCluster().getRegionServer(1 - index).getServerName()); AsyncTable table = CONN.getTableBuilder(TABLE_NAME).setRetryPause(100, TimeUnit.MILLISECONDS) .setMaxRetries(30).build(); table.put(new Put(ROW).addColumn(FAMILY, QUALIFIER, VALUE)).get(); // move back - TEST_UTIL.getAdmin().move(loc.getRegion().getEncodedNameAsBytes(), - Bytes.toBytes(loc.getServerName().getServerName())); + TEST_UTIL.getAdmin().move(loc.getRegion().getEncodedNameAsBytes(), loc.getServerName()); Result result = table.get(new Get(ROW).addColumn(FAMILY, QUALIFIER)).get(); assertArrayEquals(VALUE, result.getValue(FAMILY, QUALIFIER)); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreaded.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreaded.java index 8a2dfcca8a..19dc05c209 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreaded.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreaded.java @@ -172,8 +172,7 @@ public class TestAsyncTableGetMultiThreaded { ServerName newMetaServer = TEST_UTIL.getHBaseCluster().getRegionServerThreads().stream() .map(t -> t.getRegionServer().getServerName()).filter(s -> !s.equals(metaServer)) .findAny().get(); - admin.move(RegionInfoBuilder.FIRST_META_REGIONINFO.getEncodedNameAsBytes(), - Bytes.toBytes(newMetaServer.getServerName())); + admin.move(RegionInfoBuilder.FIRST_META_REGIONINFO.getEncodedNameAsBytes(), newMetaServer); Thread.sleep(5000); } stop.set(true); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionImplementation.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionImplementation.java index 9eec04a8eb..f27c0102a1 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionImplementation.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionImplementation.java @@ -232,8 +232,8 @@ public class TestConnectionImplementation { final ConnectionImplementation hci = (ConnectionImplementation)TEST_UTIL.getConnection(); try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName)) { while (l.getRegionLocation(rk).getPort() != sn.getPort()) { - TEST_UTIL.getAdmin().move(l.getRegionLocation(rk).getRegionInfo(). - getEncodedNameAsBytes(), Bytes.toBytes(sn.toString())); + TEST_UTIL.getAdmin().move(l.getRegionLocation(rk).getRegionInfo().getEncodedNameAsBytes(), + sn); TEST_UTIL.waitUntilNoRegionsInTransition(); hci.clearRegionCache(tableName); } @@ -604,10 +604,7 @@ public class TestConnectionImplementation { // Moving. It's possible that we don't have all the regions online at this point, so // the test must depend only on the region we're looking at. LOG.info("Move starting region="+toMove.getRegionInfo().getRegionNameAsString()); - TEST_UTIL.getAdmin().move( - toMove.getRegionInfo().getEncodedNameAsBytes(), - Bytes.toBytes(destServerName.getServerName()) - ); + TEST_UTIL.getAdmin().move(toMove.getRegionInfo().getEncodedNameAsBytes(), destServerName); while (destServer.getOnlineRegion(regionName) == null || destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || @@ -670,10 +667,8 @@ public class TestConnectionImplementation { // We move it back to do another test with a scan LOG.info("Move starting region=" + toMove.getRegionInfo().getRegionNameAsString()); - TEST_UTIL.getAdmin().move( - toMove.getRegionInfo().getEncodedNameAsBytes(), - Bytes.toBytes(curServer.getServerName().getServerName()) - ); + TEST_UTIL.getAdmin().move(toMove.getRegionInfo().getEncodedNameAsBytes(), + curServer.getServerName()); while (curServer.getOnlineRegion(regionName) == null || destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || @@ -928,10 +923,7 @@ public class TestConnectionImplementation { // Moving. It's possible that we don't have all the regions online at this point, so // the test depends only on the region we're looking at. LOG.info("Move starting region=" + toMove.getRegionInfo().getRegionNameAsString()); - TEST_UTIL.getAdmin().move( - toMove.getRegionInfo().getEncodedNameAsBytes(), - Bytes.toBytes(destServerName.getServerName()) - ); + TEST_UTIL.getAdmin().move(toMove.getRegionInfo().getEncodedNameAsBytes(), destServerName); while (destServer.getOnlineRegion(regionName) == null || destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java index 5a285ef6ba..7f0815fd3a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java @@ -5351,8 +5351,7 @@ public class TestFromClientSide { HRegionServer regionServer = TEST_UTIL.getHBaseCluster().getRegionServer(i); ServerName addr = regionServer.getServerName(); if (addr.getPort() != addrBefore.getPort()) { - admin.move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(addr.toString())); + admin.move(regionInfo.getEncodedNameAsBytes(), addr); // Wait for the region to move. Thread.sleep(5000); addrAfter = addr; diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java index 59ccc47ab2..38f410d47f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java @@ -185,7 +185,7 @@ public class TestHBaseAdminNoCluster { testMasterOperationIsRetried(new MethodCaller() { @Override public void call(Admin admin) throws Exception { - admin.move(new byte[0], null); + admin.move(new byte[0]); } @Override public void verify(MasterKeepAliveConnection masterAdmin, int count) throws Exception { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java index 1c2814fc61..fe8781e527 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java @@ -131,7 +131,7 @@ public class TestMetaWithReplicas { TEST_UTIL.getHBaseCluster().getRegionServer(metaServerIndex).getServerName(); assertNotEquals(destinationServerName, metaServerName); TEST_UTIL.getAdmin().move(RegionInfoBuilder.FIRST_META_REGIONINFO.getEncodedNameAsBytes(), - Bytes.toBytes(destinationServerName.toString())); + destinationServerName); } // Disable the balancer LoadBalancerTracker l = new LoadBalancerTracker(TEST_UTIL.getZooKeeperWatcher(), @@ -230,7 +230,7 @@ public class TestMetaWithReplicas { // If the servers are the same, then move the test table's region out of the server // to another random server if (hrl.getServerName().equals(primary)) { - util.getAdmin().move(hrl.getRegionInfo().getEncodedNameAsBytes(), null); + util.getAdmin().move(hrl.getRegionInfo().getEncodedNameAsBytes()); // wait for the move to complete do { Thread.sleep(10); @@ -462,7 +462,7 @@ public class TestMetaWithReplicas { TEST_UTIL.createTable(tableName, "f"); assertTrue(TEST_UTIL.getAdmin().tableExists(tableName)); TEST_UTIL.getAdmin().move(RegionInfoBuilder.FIRST_META_REGIONINFO.getEncodedNameAsBytes(), - Bytes.toBytes(moveToServer.getServerName())); + moveToServer); int i = 0; assert !moveToServer.equals(currentServer); LOG.info("CurrentServer=" + currentServer + ", moveToServer=" + moveToServer); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMvccConsistentScanner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMvccConsistentScanner.java index 2312655765..0d2aff0dc5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMvccConsistentScanner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMvccConsistentScanner.java @@ -92,8 +92,7 @@ public class TestMvccConsistentScanner { HRegionServer rs = UTIL.getHBaseCluster().getRegionServerThreads().stream().map(t -> t.getRegionServer()) .filter(r -> !r.getOnlineTables().contains(tableName)).findAny().get(); - UTIL.getAdmin().move(region.getEncodedNameAsBytes(), - Bytes.toBytes(rs.getServerName().getServerName())); + UTIL.getAdmin().move(region.getEncodedNameAsBytes(), rs.getServerName()); while (UTIL.getRSForFirstRegionInTable(tableName) != rs) { Thread.sleep(100); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSeparateClientZKCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSeparateClientZKCluster.java index 026010d42a..511d07278e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSeparateClientZKCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSeparateClientZKCluster.java @@ -165,11 +165,11 @@ public class TestSeparateClientZKCluster { Get get = new Get(row); Result result = table.get(get); // move meta region and confirm client could detect - byte[] destServerName = null; + ServerName destServerName = null; for (RegionServerThread rst : cluster.getLiveRegionServerThreads()) { ServerName name = rst.getRegionServer().getServerName(); if (!name.equals(cluster.getServerHoldingMeta())) { - destServerName = Bytes.toBytes(name.getServerName()); + destServerName = name; break; } } @@ -182,7 +182,7 @@ public class TestSeparateClientZKCluster { for (RegionServerThread rst : cluster.getLiveRegionServerThreads()) { ServerName name = rst.getRegionServer().getServerName(); if (!name.equals(currentServer)) { - destServerName = Bytes.toBytes(name.getServerName()); + destServerName = name; break; } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java index 6c58473d78..01540fa2ef 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java @@ -306,7 +306,7 @@ public class TestSnapshotCloneIndependence { originalRegionCount, cloneTableRegionCount); // Split a region on the parent table - admin.splitRegionAsync(originalTableHRegions.get(0).getRegionName(), null).get(); + admin.splitRegionAsync(originalTableHRegions.get(0).getRegionName()).get(); waitOnSplit(UTIL.getConnection(), originalTable, originalRegionCount); // Verify that the cloned table region is not split diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java index b222cc9c55..6934c98d8f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java @@ -589,7 +589,7 @@ public class TestRegionObserverInterface { ServerName sn2 = rs1.getRegionServer().getServerName(); String regEN = locator.getAllRegionLocations().get(0).getRegionInfo().getEncodedName(); - util.getAdmin().move(Bytes.toBytes(regEN), Bytes.toBytes(sn2.getServerName())); + util.getAdmin().move(Bytes.toBytes(regEN), sn2); while (!sn2.equals(locator.getAllRegionLocations().get(0).getServerName())) { Thread.sleep(100); } @@ -639,7 +639,7 @@ public class TestRegionObserverInterface { ServerName sn2 = rs1.getRegionServer().getServerName(); String regEN = locator.getAllRegionLocations().get(0).getRegionInfo().getEncodedName(); - util.getAdmin().move(Bytes.toBytes(regEN), Bytes.toBytes(sn2.getServerName())); + util.getAdmin().move(Bytes.toBytes(regEN), sn2); while (!sn2.equals(locator.getAllRegionLocations().get(0).getServerName())) { Thread.sleep(100); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java index 350534cc55..3aef976f50 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java @@ -731,8 +731,7 @@ public abstract class AbstractTestDLS { // the RS doesn't have regions of the specified table so we need move one to this RS List tableRegions = TEST_UTIL.getAdmin().getRegions(tableName); RegionInfo hri = tableRegions.get(0); - TEST_UTIL.getAdmin().move(hri.getEncodedNameAsBytes(), - Bytes.toBytes(destRS.getServerName().getServerName())); + TEST_UTIL.getAdmin().move(hri.getEncodedNameAsBytes(), destRS.getServerName()); // wait for region move completes RegionStates regionStates = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java index 78911c0f09..cefe10e93d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java @@ -142,7 +142,7 @@ public class TestCatalogJanitorInMemoryStates { // Split this table in two. Admin admin = TEST_UTIL.getAdmin(); Connection connection = TEST_UTIL.getConnection(); - admin.splitRegionAsync(r.getEncodedNameAsBytes(), null).get(); + admin.splitRegionAsync(r.getEncodedNameAsBytes()).get(); admin.close(); PairOfSameType regions = waitOnDaughters(r); if (regions != null) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCloseAnOpeningRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCloseAnOpeningRegion.java index 17cf8f4c12..ba4d53510f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCloseAnOpeningRegion.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCloseAnOpeningRegion.java @@ -115,8 +115,7 @@ public class TestCloseAnOpeningRegion { HRegionServer dst = UTIL.getOtherRegionServer(src); Thread move0 = new Thread(() -> { try { - UTIL.getAdmin().move(region.getEncodedNameAsBytes(), - Bytes.toBytes(dst.getServerName().getServerName())); + UTIL.getAdmin().move(region.getEncodedNameAsBytes(), dst.getServerName()); } catch (IOException e) { throw new UncheckedIOException(e); } @@ -125,8 +124,7 @@ public class TestCloseAnOpeningRegion { ARRIVE.await(); Thread move1 = new Thread(() -> { try { - UTIL.getAdmin().move(region.getEncodedNameAsBytes(), - Bytes.toBytes(src.getServerName().getServerName())); + UTIL.getAdmin().move(region.getEncodedNameAsBytes(), src.getServerName()); } catch (IOException e) { throw new UncheckedIOException(e); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java index 7fdf60101c..7c396c74c4 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java @@ -196,7 +196,7 @@ public class TestMaster { .setStartKey(Bytes.toBytes("A")) .setEndKey(Bytes.toBytes("Z")) .build(); - admin.move(hri.getEncodedNameAsBytes(), null); + admin.move(hri.getEncodedNameAsBytes()); fail("Region should not be moved since it is fake"); } catch (IOException ioe) { assertTrue(ioe instanceof UnknownRegionException); @@ -218,7 +218,7 @@ public class TestMaster { List tableRegions = admin.getRegions(tableName); master.setInitialized(false); // fake it, set back later - admin.move(tableRegions.get(0).getEncodedNameAsBytes(), null); + admin.move(tableRegions.get(0).getEncodedNameAsBytes()); fail("Region should not be moved since master is not initialized"); } catch (IOException ioe) { assertTrue(StringUtils.stringifyException(ioe).contains("PleaseHoldException")); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.java index 049c560841..e136cdd286 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.java @@ -69,7 +69,7 @@ public class TestMasterHandlerFullWhenTransitRegion { //See HBASE-21754 //There is Only one handler, if ReportRegionStateTransitionRequest executes in the same kind // of thread with moveRegion, it will lock each other. Making the move operation can not finish. - UTIL.getAdmin().move(regionInfo.getEncodedNameAsBytes(), null); + UTIL.getAdmin().move(regionInfo.getEncodedNameAsBytes()); LOG.info("Region move complete"); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestCloseRegionWhileRSCrash.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestCloseRegionWhileRSCrash.java index 0a29958d32..04e6930f13 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestCloseRegionWhileRSCrash.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestCloseRegionWhileRSCrash.java @@ -150,8 +150,7 @@ public class TestCloseRegionWhileRSCrash { if (!srcRs.getRegions(TableName.META_TABLE_NAME).isEmpty()) { RegionInfo metaRegion = srcRs.getRegions(TableName.META_TABLE_NAME).get(0).getRegionInfo(); HRegionServer dstRs = UTIL.getOtherRegionServer(srcRs); - UTIL.getAdmin().move(metaRegion.getEncodedNameAsBytes(), - Bytes.toBytes(dstRs.getServerName().getServerName())); + UTIL.getAdmin().move(metaRegion.getEncodedNameAsBytes(), dstRs.getServerName()); UTIL.waitFor(30000, () -> !dstRs.getRegions(TableName.META_TABLE_NAME).isEmpty()); } } @@ -175,8 +174,7 @@ public class TestCloseRegionWhileRSCrash { () -> procExec.getProcedures().stream().anyMatch(p -> p instanceof ServerCrashProcedure)); Thread t = new Thread(() -> { try { - UTIL.getAdmin().move(region.getEncodedNameAsBytes(), - Bytes.toBytes(dstRs.getServerName().getServerName())); + UTIL.getAdmin().move(region.getEncodedNameAsBytes(), dstRs.getServerName()); } catch (IOException e) { } }); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java index 6e1c84dd7b..0aa232205b 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java @@ -152,8 +152,7 @@ public class TestFavoredStochasticBalancerPickers extends BalancerTestBase { RegionStates rst = master.getAssignmentManager().getRegionStates(); for (int i = 0; i < regionsToMove; i++) { final RegionInfo regionInfo = hris.get(i); - admin.move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(mostLoadedServer.getServerName())); + admin.move(regionInfo.getEncodedNameAsBytes(), mostLoadedServer); LOG.info("Moving region: " + hris.get(i).getRegionNameAsString() + " to " + mostLoadedServer); TEST_UTIL.waitFor(60000, new Waiter.Predicate() { @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java index 03b3316c4f..a5c2987afb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java @@ -65,7 +65,7 @@ public class TestCleanupMetaWAL { HRegionServer serverWithMeta = TEST_UTIL.getMiniHBaseCluster() .getRegionServer(TEST_UTIL.getMiniHBaseCluster().getServerWithMeta()); TEST_UTIL.getAdmin() - .move(RegionInfoBuilder.FIRST_META_REGIONINFO.getEncodedNameAsBytes(), null); + .move(RegionInfoBuilder.FIRST_META_REGIONINFO.getEncodedNameAsBytes()); LOG.info("KILL"); TEST_UTIL.getMiniHBaseCluster().killRegionServer(serverWithMeta.getServerName()); LOG.info("WAIT"); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java index 0681c377ee..42ab3110af 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java @@ -109,8 +109,7 @@ public class TestHRegionOnCluster { TEST_UTIL.waitUntilAllRegionsAssigned(table.getName()); LOG.info("Moving " + regionInfo.getEncodedName() + " to " + targetServer.getServerName()); - hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(targetServer.getServerName().getServerName())); + hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), targetServer.getServerName()); do { Thread.sleep(1); } while (cluster.getServerWith(regionInfo.getRegionName()) == originServerNum); @@ -122,8 +121,7 @@ public class TestHRegionOnCluster { TEST_UTIL.waitUntilAllRegionsAssigned(table.getName()); // Move region to origin server LOG.info("Moving " + regionInfo.getEncodedName() + " to " + originServer.getServerName()); - hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), - Bytes.toBytes(originServer.getServerName().getServerName())); + hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), originServer.getServerName()); do { Thread.sleep(1); } while (cluster.getServerWith(regionInfo.getRegionName()) == targetServerNum); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java index 14d5a98b4d..11db694063 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java @@ -99,8 +99,7 @@ public class TestOpenSeqNumUnexpectedIncrease { // will fail two times, and then verify that the open sequence number is still openSeqNum + 2 FAILED_OPEN.set(2); - UTIL.getAdmin().move(region.getRegionInfo().getEncodedNameAsBytes(), - Bytes.toBytes(dst.getServerName().getServerName())); + UTIL.getAdmin().move(region.getRegionInfo().getEncodedNameAsBytes(), dst.getServerName()); UTIL.waitTableAvailable(TABLE_NAME); HRegion region1 = UTIL.getMiniHBaseCluster().getRegions(TABLE_NAME).get(0); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java index badd8db351..a9874bf887 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java @@ -119,8 +119,7 @@ public class TestRegionMove { // Offline the region and then try to move it. Should fail. admin.unassign(regionToMove.getRegionName(), true); try { - admin.move(regionToMove.getEncodedNameAsBytes(), - Bytes.toBytes(rs2.getServerName().toString())); + admin.move(regionToMove.getEncodedNameAsBytes(), rs2.getServerName()); fail(); } catch (DoNotRetryRegionException e) { // We got expected exception @@ -133,8 +132,7 @@ public class TestRegionMove { try { // Move the region to the other RS -- should fail - admin.move(regionToMove.getEncodedNameAsBytes(), - Bytes.toBytes(rs2.getServerName().toString())); + admin.move(regionToMove.getEncodedNameAsBytes(), rs2.getServerName()); fail(); } catch (DoNotRetryIOException e) { // We got expected exception diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java index b91bf11dae..405819e1dd 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java @@ -328,7 +328,7 @@ public class TestSplitTransactionOnCluster { // We don't roll back here anymore. Instead we fail-fast on construction of the // split transaction. Catch the exception instead. try { - this.admin.splitRegionAsync(hri.getRegionName(), null); + this.admin.splitRegionAsync(hri.getRegionName()); fail(); } catch (DoNotRetryRegionException e) { // Expected @@ -541,7 +541,7 @@ public class TestSplitTransactionOnCluster { HRegionServer server = cluster.getRegionServer(tableRegionIndex); printOutRegions(server, "Initial regions: "); // Call split. - this.admin.splitRegionAsync(hri.getRegionName(), null); + this.admin.splitRegionAsync(hri.getRegionName()); List daughters = checkAndGetDaughters(tableName); // Before cleanup, get a new master. @@ -837,7 +837,7 @@ public class TestSplitTransactionOnCluster { private void split(final RegionInfo hri, final HRegionServer server, final int regionCount) throws IOException, InterruptedException { - admin.splitRegionAsync(hri.getRegionName(), null); + admin.splitRegionAsync(hri.getRegionName()); for (int i = 0; cluster.getRegions(hri.getTable()).size() <= regionCount && i < 60; i++) { LOG.debug("Waiting on region " + hri.getRegionNameAsString() + " to split"); Thread.sleep(2000); @@ -885,7 +885,7 @@ public class TestSplitTransactionOnCluster { LOG.info("Moving " + hri.getRegionNameAsString() + " from " + metaRegionServer.getServerName() + " to " + hrs.getServerName() + "; metaServerIndex=" + metaServerIndex); - admin.move(hri.getEncodedNameAsBytes(), Bytes.toBytes(hrs.getServerName().toString())); + admin.move(hri.getEncodedNameAsBytes(), hrs.getServerName()); } // Wait till table region is up on the server that is NOT carrying hbase:meta. for (int i = 0; i < 100; i++) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/SerialReplicationTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/SerialReplicationTestBase.java index 1b98518728..e1a7ecdf54 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/SerialReplicationTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/SerialReplicationTestBase.java @@ -147,8 +147,7 @@ public class SerialReplicationTestBase { } protected static void moveRegion(RegionInfo region, HRegionServer rs) throws Exception { - UTIL.getAdmin().move(region.getEncodedNameAsBytes(), - Bytes.toBytes(rs.getServerName().getServerName())); + UTIL.getAdmin().move(region.getEncodedNameAsBytes(), rs.getServerName()); UTIL.waitFor(30000, new ExplainingPredicate() { @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialSyncReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialSyncReplication.java index 672564965e..ba939a72d8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialSyncReplication.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialSyncReplication.java @@ -89,8 +89,7 @@ public class TestSerialSyncReplication extends SyncReplicationTestBase { // let's reopen the region RegionInfo region = Iterables.getOnlyElement(UTIL2.getAdmin().getRegions(TABLE_NAME)); HRegionServer target = UTIL2.getOtherRegionServer(UTIL2.getRSForFirstRegionInTable(TABLE_NAME)); - UTIL2.getAdmin().move(region.getEncodedNameAsBytes(), - Bytes.toBytes(target.getServerName().getServerName())); + UTIL2.getAdmin().move(region.getEncodedNameAsBytes(), target.getServerName()); // here we will remove all the pending wals. This is not a normal operation sequence but anyway, // user could do this. UTIL2.getAdmin().transitReplicationPeerSyncReplicationState(PEER_ID, diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java index 563238cfc2..fae2e2f5a6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java @@ -2143,8 +2143,7 @@ public class TestAccessController extends SecureTestUtil { AccessTestAction moveAction = new AccessTestAction() { @Override public Object run() throws Exception { - admin.move(hri.getEncodedNameAsBytes(), - Bytes.toBytes(newRs.getServerName().getServerName())); + admin.move(hri.getEncodedNameAsBytes(), newRs.getServerName()); return null; } }; diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java index 7b96a2863d..848e625511 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.java @@ -552,9 +552,13 @@ public class ThriftAdmin implements Admin { } @Override - public void move(byte[] encodedRegionName, byte[] destServerName) { + public void move(byte[] encodedRegionName) { throw new NotImplementedException("move not supported in ThriftAdmin"); + } + @Override + public void move(byte[] encodedRegionName, ServerName destServerName) { + throw new NotImplementedException("move not supported in ThriftAdmin"); } @Override @@ -1111,4 +1115,9 @@ public class ThriftAdmin implements Admin { getUserPermissions(GetUserPermissionsRequest getUserPermissionsRequest) { throw new NotImplementedException("getUserPermissions not supported in ThriftAdmin"); } + + @Override + public Future splitRegionAsync(byte[] regionName) throws IOException { + return splitRegionAsync(regionName, null); + } } -- 2.17.1