You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by re...@apache.org on 2019/08/22 03:17:29 UTC
[hbase] branch branch-1.4 updated: HBASE-22861 [WAL] Merged region
should get its WAL according to WALProvider
This is an automated email from the ASF dual-hosted git repository.
reidchan pushed a commit to branch branch-1.4
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1.4 by this push:
new dde3873 HBASE-22861 [WAL] Merged region should get its WAL according to WALProvider
dde3873 is described below
commit dde3873360bc64d81d1dbdfa5f79bf2096954fbc
Author: Reid Chan <re...@apache.org>
AuthorDate: Thu Aug 22 11:15:21 2019 +0800
HBASE-22861 [WAL] Merged region should get its WAL according to WALProvider
---
.../apache/hadoop/hbase/regionserver/HRegion.java | 3 +-
.../hbase/MockRegionServerServicesWithWALs.java | 296 +++++++++++++++++++++
.../regionserver/TestRegionMergeTransaction.java | 40 ++-
.../hbase/regionserver/TestSplitTransaction.java | 262 +-----------------
4 files changed, 337 insertions(+), 264 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 9ccb677..f16e9e9 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -7187,7 +7187,8 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
*/
HRegion createMergedRegionFromMerges(final HRegionInfo mergedRegionInfo,
final HRegion region_b) throws IOException {
- HRegion r = HRegion.newHRegion(this.fs.getTableDir(), this.getWAL(),
+ WAL mergedRegionWAL = rsServices == null ? getWAL() : rsServices.getWAL(mergedRegionInfo);
+ HRegion r = HRegion.newHRegion(this.fs.getTableDir(), mergedRegionWAL,
fs.getFileSystem(), this.getBaseConf(), mergedRegionInfo,
this.getTableDesc(), this.rsServices);
r.readRequestsCount.set(this.getReadRequestsCount()
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServicesWithWALs.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServicesWithWALs.java
new file mode 100644
index 0000000..69290b2
--- /dev/null
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServicesWithWALs.java
@@ -0,0 +1,296 @@
+/**
+ * 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;
+
+import com.google.protobuf.Service;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentMap;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.hbase.client.ClusterConnection;
+import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.ipc.RpcServerInterface;
+import org.apache.hadoop.hbase.master.TableLockManager;
+import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;
+import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos;
+import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;
+import org.apache.hadoop.hbase.regionserver.CompactionRequestor;
+import org.apache.hadoop.hbase.regionserver.FlushRequester;
+import org.apache.hadoop.hbase.regionserver.HeapMemoryManager;
+import org.apache.hadoop.hbase.regionserver.Leases;
+import org.apache.hadoop.hbase.regionserver.MetricsRegionServer;
+import org.apache.hadoop.hbase.regionserver.Region;
+import org.apache.hadoop.hbase.regionserver.RegionServerAccounting;
+import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.hadoop.hbase.regionserver.ServerNonceManager;
+import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;
+import org.apache.hadoop.hbase.wal.WAL;
+import org.apache.hadoop.hbase.wal.WALProvider;
+import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
+import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
+import org.apache.zookeeper.KeeperException;
+
+/**
+ * Mock region server services with WALProvider, it can be used for testing wal related tests,
+ * like split or merge regions.
+ */
+public class MockRegionServerServicesWithWALs implements RegionServerServices {
+ WALProvider provider;
+ RegionServerServices rss;
+
+ public MockRegionServerServicesWithWALs(RegionServerServices rss, WALProvider provider) {
+ this.rss = rss;
+ this.provider = provider;
+ }
+
+ @Override
+ public boolean isStopping() {
+ return rss.isStopping();
+ }
+
+ @Override
+ public WAL getWAL(HRegionInfo hri) throws IOException {
+ return provider.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace());
+ }
+
+ @Override
+ public CompactionRequestor getCompactionRequester() {
+ return rss.getCompactionRequester();
+ }
+
+ @Override
+ public FlushRequester getFlushRequester() {
+ return rss.getFlushRequester();
+ }
+
+ @Override
+ public RegionServerAccounting getRegionServerAccounting() {
+ return rss.getRegionServerAccounting();
+ }
+
+ @Override
+ public TableLockManager getTableLockManager() {
+ return rss.getTableLockManager();
+ }
+
+ @Override
+ public RegionServerQuotaManager getRegionServerQuotaManager() {
+ return rss.getRegionServerQuotaManager();
+ }
+
+ @Override
+ public void postOpenDeployTasks(PostOpenDeployContext context)
+ throws KeeperException, IOException {
+ rss.postOpenDeployTasks(context);
+ }
+
+ @Override
+ public void postOpenDeployTasks(Region r) throws KeeperException, IOException {
+ rss.postOpenDeployTasks(r);
+ }
+
+ @Override
+ public boolean reportRegionStateTransition(RegionStateTransitionContext context) {
+ return rss.reportRegionStateTransition(context);
+ }
+
+ @Override
+ public boolean reportRegionStateTransition(
+ RegionServerStatusProtos.RegionStateTransition.TransitionCode code, long openSeqNum,
+ HRegionInfo... hris) {
+ return rss.reportRegionStateTransition(code, openSeqNum, hris);
+ }
+
+ @Override
+ public boolean reportRegionStateTransition(
+ RegionServerStatusProtos.RegionStateTransition.TransitionCode code, HRegionInfo... hris) {
+ return rss.reportRegionStateTransition(code, hris);
+ }
+
+ @Override
+ public RpcServerInterface getRpcServer() {
+ return rss.getRpcServer();
+ }
+
+ @Override
+ public ConcurrentMap<byte[], Boolean> getRegionsInTransitionInRS() {
+ return rss.getRegionsInTransitionInRS();
+ }
+
+ @Override
+ public FileSystem getFileSystem() {
+ return rss.getFileSystem();
+ }
+
+ @Override
+ public Leases getLeases() {
+ return rss.getLeases();
+ }
+
+ @Override
+ public ExecutorService getExecutorService() {
+ return rss.getExecutorService();
+ }
+
+ @Override
+ public Map<String, Region> getRecoveringRegions() {
+ return rss.getRecoveringRegions();
+ }
+
+ @Override
+ public ServerNonceManager getNonceManager() {
+ return rss.getNonceManager();
+ }
+
+ @Override
+ public boolean registerService(Service service) {
+ return rss.registerService(service);
+ }
+
+ @Override
+ public HeapMemoryManager getHeapMemoryManager() {
+ return rss.getHeapMemoryManager();
+ }
+
+ @Override
+ public double getCompactionPressure() {
+ return rss.getCompactionPressure();
+ }
+
+ @Override
+ public Set<TableName> getOnlineTables() {
+ return rss.getOnlineTables();
+ }
+
+ @Override
+ public ThroughputController getFlushThroughputController() {
+ return rss.getFlushThroughputController();
+ }
+
+ @Override
+ public double getFlushPressure() {
+ return rss.getFlushPressure();
+ }
+
+ @Override
+ public MetricsRegionServer getMetrics() {
+ return rss.getMetrics();
+ }
+
+ @Override
+ public void unassign(byte[] regionName) throws IOException {
+ rss.unassign(regionName);
+ }
+
+ @Override
+ public void addToOnlineRegions(Region r) {
+ rss.addToOnlineRegions(r);
+ }
+
+ @Override
+ public boolean removeFromOnlineRegions(Region r, ServerName destination) {
+ return rss.removeFromOnlineRegions(r, destination);
+ }
+
+ @Override
+ public Region getFromOnlineRegions(String encodedRegionName) {
+ return rss.getFromOnlineRegions(encodedRegionName);
+ }
+
+ @Override
+ public List<Region> getOnlineRegions(TableName tableName) throws IOException {
+ return rss.getOnlineRegions(tableName);
+ }
+
+ @Override
+ public List<Region> getOnlineRegions() {
+ return rss.getOnlineRegions();
+ }
+
+ @Override
+ public Configuration getConfiguration() {
+ return rss.getConfiguration();
+ }
+
+ @Override
+ public ZooKeeperWatcher getZooKeeper() {
+ return rss.getZooKeeper();
+ }
+
+ @Override
+ public ClusterConnection getConnection() {
+ return rss.getConnection();
+ }
+
+ @Override
+ public MetaTableLocator getMetaTableLocator() {
+ return rss.getMetaTableLocator();
+ }
+
+ @Override
+ public ServerName getServerName() {
+ return rss.getServerName();
+ }
+
+ @Override
+ public CoordinatedStateManager getCoordinatedStateManager() {
+ return rss.getCoordinatedStateManager();
+ }
+
+ @Override
+ public ChoreService getChoreService() {
+ return rss.getChoreService();
+ }
+
+ @Override
+ public void abort(String why, Throwable e) {
+ rss.abort(why, e);
+ }
+
+ @Override
+ public boolean isAborted() {
+ return rss.isAborted();
+ }
+
+ @Override
+ public void stop(String why) {
+ rss.stop(why);
+ }
+
+ @Override
+ public boolean isStopped() {
+ return rss.isStopped();
+ }
+
+ @Override
+ public void updateRegionFavoredNodesMapping(String encodedRegionName,
+ List<HBaseProtos.ServerName> favoredNodes) {
+ rss.updateRegionFavoredNodesMapping(encodedRegionName, favoredNodes);
+ }
+
+ @Override
+ public InetSocketAddress[] getFavoredNodesForRegion(String encodedRegionName) {
+ return rss.getFavoredNodesForRegion(encodedRegionName);
+ }
+}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java
index 437f1fb..b766b23 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.*;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
@@ -38,7 +39,9 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionInfo;
import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.MockRegionServerServicesWithWALs;
import org.apache.hadoop.hbase.Server;
+import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Put;
@@ -46,12 +49,15 @@ import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.FSUtils;
+import org.apache.hadoop.hbase.wal.RegionGroupingProvider;
import org.apache.hadoop.hbase.wal.WALFactory;
import org.apache.zookeeper.KeeperException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
import org.mockito.Mockito;
import com.google.common.collect.ImmutableList;
@@ -60,6 +66,7 @@ import com.google.common.collect.ImmutableList;
* Test the {@link RegionMergeTransactionImpl} class against two HRegions (as
* opposed to running cluster).
*/
+@RunWith(Parameterized.class)
@Category(SmallTests.class)
public class TestRegionMergeTransaction {
private final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
@@ -77,13 +84,40 @@ public class TestRegionMergeTransaction {
private static final byte[] ENDROW = new byte[] { '{', '{', '{' };
private static final byte[] CF = HConstants.CATALOG_FAMILY;
+ private MockRegionServerServicesWithWALs rsw;
+
+ private String walProvider;
+ private String strategy;
+
+ @Parameterized.Parameters
+ public static final Collection<Object[]> parameters() {
+ List<Object[]> params = new ArrayList<>(4);
+ params.add(new Object[] { "filesystem", "" });
+ params.add(new Object[] { "multiwal", "identity" });
+ params.add(new Object[] { "multiwal", "bounded" });
+ params.add(new Object[] { "multiwal", "namespace" });
+ return params;
+ }
+
+ public TestRegionMergeTransaction(String walProvider, String strategy) {
+ this.walProvider = walProvider;
+ this.strategy = strategy;
+ }
+
@Before
public void setup() throws IOException {
this.fs = FileSystem.get(TEST_UTIL.getConfiguration());
this.fs.delete(this.testdir, true);
+ TEST_UTIL.getConfiguration().set(WALFactory.WAL_PROVIDER, walProvider);
+ if (!strategy.isEmpty()) {
+ TEST_UTIL.getConfiguration().set(RegionGroupingProvider.REGION_GROUPING_STRATEGY, strategy);
+ }
final Configuration walConf = new Configuration(TEST_UTIL.getConfiguration());
FSUtils.setRootDir(walConf, this.testdir);
this.wals = new WALFactory(walConf, null, TestRegionMergeTransaction.class.getName());
+ ServerName sn = ServerName.valueOf("testRegionMergeTransaction", 10, 66);
+ final RegionServerServices rss = TEST_UTIL.createMockRegionServerService(sn);
+ this.rsw = new MockRegionServerServicesWithWALs(rss, wals.getWALProvider());
this.region_a = createRegion(this.testdir, this.wals, STARTROW_A, STARTROW_B);
this.region_b = createRegion(this.testdir, this.wals, STARTROW_B, STARTROW_C);
this.region_c = createRegion(this.testdir, this.wals, STARTROW_C, ENDROW);
@@ -275,7 +309,7 @@ public class TestRegionMergeTransaction {
assertEquals((rowCountOfRegionA + rowCountOfRegionB),
mergedRegionRowCount);
} finally {
- HRegion.closeHRegion(mergedRegion);
+ mergedRegion.close();
}
// Assert the write lock is no longer held on region_a and region_b
assertTrue(!this.region_a.lock.writeLock().isHeldByCurrentThread());
@@ -335,7 +369,7 @@ public class TestRegionMergeTransaction {
assertEquals((rowCountOfRegionA + rowCountOfRegionB),
mergedRegionRowCount);
} finally {
- HRegion.closeHRegion(mergedRegion);
+ mergedRegion.close();
}
// Assert the write lock is no longer held on region_a and region_b
assertTrue(!this.region_a.lock.writeLock().isHeldByCurrentThread());
@@ -444,7 +478,7 @@ public class TestRegionMergeTransaction {
HRegion.closeHRegion(a);
return HRegion.openHRegion(testdir, hri, htd,
wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()),
- TEST_UTIL.getConfiguration());
+ TEST_UTIL.getConfiguration(), rsw, null);
}
private int countRows(final HRegion r) throws IOException {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
index 3868984..8942cce 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
@@ -25,36 +25,18 @@ import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.*;
-import com.google.protobuf.Service;
-import org.apache.hadoop.hbase.ChoreService;
-import org.apache.hadoop.hbase.CoordinatedStateManager;
+import org.apache.hadoop.hbase.MockRegionServerServicesWithWALs;
import org.apache.hadoop.hbase.ServerName;
-import org.apache.hadoop.hbase.client.ClusterConnection;
-import org.apache.hadoop.hbase.executor.ExecutorService;
-import org.apache.hadoop.hbase.ipc.RpcServerInterface;
-import org.apache.hadoop.hbase.master.TableLockManager;
-import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;
-import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos;
-import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;
-import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.wal.RegionGroupingProvider;
-import org.apache.hadoop.hbase.wal.WAL;
-import org.apache.hadoop.hbase.wal.WALProvider;
-import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
-import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.mockito.Mockito;
import java.io.IOException;
-import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
@@ -112,7 +94,7 @@ public class TestSplitTransaction {
private String strategy;
@Parameterized.Parameters
- public static final Collection<Object[]> parameters() throws IOException {
+ public static final Collection<Object[]> parameters() {
List<Object[]> params = new ArrayList<>(4);
params.add(new Object[] { "filesystem", "" });
params.add(new Object[] { "multiwal", "identity" });
@@ -478,244 +460,4 @@ public class TestSplitTransaction {
postRollBackCalled = true;
}
}
-
- static class MockRegionServerServicesWithWALs implements RegionServerServices {
- WALProvider provider;
- RegionServerServices rss;
-
- MockRegionServerServicesWithWALs(RegionServerServices rss, WALProvider provider) {
- this.rss = rss;
- this.provider = provider;
- }
-
- @Override
- public boolean isStopping() {
- return rss.isStopping();
- }
-
- @Override
- public WAL getWAL(HRegionInfo hri) throws IOException {
- return provider.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace());
- }
-
- @Override
- public CompactionRequestor getCompactionRequester() {
- return rss.getCompactionRequester();
- }
-
- @Override
- public FlushRequester getFlushRequester() {
- return rss.getFlushRequester();
- }
-
- @Override
- public RegionServerAccounting getRegionServerAccounting() {
- return rss.getRegionServerAccounting();
- }
-
- @Override
- public TableLockManager getTableLockManager() {
- return rss.getTableLockManager();
- }
-
- @Override
- public RegionServerQuotaManager getRegionServerQuotaManager() {
- return rss.getRegionServerQuotaManager();
- }
-
- @Override
- public void postOpenDeployTasks(PostOpenDeployContext context)
- throws KeeperException, IOException {
- rss.postOpenDeployTasks(context);
- }
-
- @Override
- public void postOpenDeployTasks(Region r) throws KeeperException, IOException {
- rss.postOpenDeployTasks(r);
- }
-
- @Override
- public boolean reportRegionStateTransition(RegionStateTransitionContext context) {
- return rss.reportRegionStateTransition(context);
- }
-
- @Override
- public boolean reportRegionStateTransition(
- RegionServerStatusProtos.RegionStateTransition.TransitionCode code, long openSeqNum,
- HRegionInfo... hris) {
- return rss.reportRegionStateTransition(code, openSeqNum, hris);
- }
-
- @Override
- public boolean reportRegionStateTransition(
- RegionServerStatusProtos.RegionStateTransition.TransitionCode code, HRegionInfo... hris) {
- return rss.reportRegionStateTransition(code, hris);
- }
-
- @Override
- public RpcServerInterface getRpcServer() {
- return rss.getRpcServer();
- }
-
- @Override
- public ConcurrentMap<byte[], Boolean> getRegionsInTransitionInRS() {
- return rss.getRegionsInTransitionInRS();
- }
-
- @Override
- public FileSystem getFileSystem() {
- return rss.getFileSystem();
- }
-
- @Override
- public Leases getLeases() {
- return rss.getLeases();
- }
-
- @Override
- public ExecutorService getExecutorService() {
- return rss.getExecutorService();
- }
-
- @Override
- public Map<String, Region> getRecoveringRegions() {
- return rss.getRecoveringRegions();
- }
-
- @Override
- public ServerNonceManager getNonceManager() {
- return rss.getNonceManager();
- }
-
- @Override
- public boolean registerService(Service service) {
- return rss.registerService(service);
- }
-
- @Override
- public HeapMemoryManager getHeapMemoryManager() {
- return rss.getHeapMemoryManager();
- }
-
- @Override
- public double getCompactionPressure() {
- return rss.getCompactionPressure();
- }
-
- @Override
- public Set<TableName> getOnlineTables() {
- return rss.getOnlineTables();
- }
-
- @Override
- public ThroughputController getFlushThroughputController() {
- return rss.getFlushThroughputController();
- }
-
- @Override
- public double getFlushPressure() {
- return rss.getFlushPressure();
- }
-
- @Override
- public MetricsRegionServer getMetrics() {
- return rss.getMetrics();
- }
-
- @Override
- public void unassign(byte[] regionName) throws IOException {
- rss.unassign(regionName);
- }
-
- @Override
- public void addToOnlineRegions(Region r) {
- rss.addToOnlineRegions(r);
- }
-
- @Override
- public boolean removeFromOnlineRegions(Region r, ServerName destination) {
- return rss.removeFromOnlineRegions(r, destination);
- }
-
- @Override
- public Region getFromOnlineRegions(String encodedRegionName) {
- return rss.getFromOnlineRegions(encodedRegionName);
- }
-
- @Override
- public List<Region> getOnlineRegions(TableName tableName) throws IOException {
- return rss.getOnlineRegions(tableName);
- }
-
- @Override
- public List<Region> getOnlineRegions() {
- return rss.getOnlineRegions();
- }
-
- @Override
- public Configuration getConfiguration() {
- return rss.getConfiguration();
- }
-
- @Override
- public ZooKeeperWatcher getZooKeeper() {
- return rss.getZooKeeper();
- }
-
- @Override
- public ClusterConnection getConnection() {
- return rss.getConnection();
- }
-
- @Override
- public MetaTableLocator getMetaTableLocator() {
- return rss.getMetaTableLocator();
- }
-
- @Override
- public ServerName getServerName() {
- return rss.getServerName();
- }
-
- @Override
- public CoordinatedStateManager getCoordinatedStateManager() {
- return rss.getCoordinatedStateManager();
- }
-
- @Override
- public ChoreService getChoreService() {
- return rss.getChoreService();
- }
-
- @Override
- public void abort(String why, Throwable e) {
- rss.abort(why, e);
- }
-
- @Override
- public boolean isAborted() {
- return rss.isAborted();
- }
-
- @Override
- public void stop(String why) {
- rss.stop(why);
- }
-
- @Override
- public boolean isStopped() {
- return rss.isStopped();
- }
-
- @Override
- public void updateRegionFavoredNodesMapping(String encodedRegionName,
- List<HBaseProtos.ServerName> favoredNodes) {
- rss.updateRegionFavoredNodesMapping(encodedRegionName, favoredNodes);
- }
-
- @Override
- public InetSocketAddress[] getFavoredNodesForRegion(String encodedRegionName) {
- return rss.getFavoredNodesForRegion(encodedRegionName);
- }
- }
}