diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java index 0d9eba8..0ff0064 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java @@ -53,6 +53,8 @@ public interface Server extends Abortable, Stoppable { */ Connection getConnection(); + Connection getConnection(Configuration conf) throws IOException; + /** * Returns a reference to the servers' cluster connection. Prefer {@link #getConnection()}. * diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.java index ab0eb6b..f3f5767 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.java @@ -23,6 +23,10 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.Connection; import org.apache.yetus.audience.InterfaceAudience; import org.apache.yetus.audience.InterfaceStability; + +import java.io.IOException; + +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.metrics.MetricRegistry; @@ -51,6 +55,22 @@ public interface MasterCoprocessorEnvironment extends CoprocessorEnvironmentUsing this Connection to get at a local resource -- say a Region that is on the local + * Server or using Admin Interface from a Coprocessor hosted on the Master -- will result in a + * short-circuit of the RPC framework to make a direct invocation avoiding RPC (and + * protobuf marshalling/unmarshalling). + * + * Note : HBase will NOT cache/maintain this connection. If coprocessors need to cache and reuse + * this connection, it has to be done by coprocessors. And close after the use. + * + * @param conf + * @return Connection created using the passed conf. + * @throws IOException + */ + Connection getConnection(Configuration conf) throws IOException; + + /** * Returns a MetricRegistry that can be used to track metrics at the master level. * *

See ExampleMasterObserverWithMetrics class in the hbase-examples modules for examples diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.java index 05df33d..61ebe3e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.java @@ -19,8 +19,10 @@ package org.apache.hadoop.hbase.coprocessor; +import java.io.IOException; import java.util.concurrent.ConcurrentMap; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; @@ -70,6 +72,22 @@ public interface RegionCoprocessorEnvironment extends CoprocessorEnvironmentUsing this Connection to get at a local resource -- say a Region that is on the local + * Server or using Admin Interface from a Coprocessor hosted on the Master -- will result in a + * short-circuit of the RPC framework to make a direct invocation avoiding RPC (and + * protobuf marshalling/unmarshalling). + * + * Note : HBase will NOT cache/maintain this connection. If coprocessors need to cache and reuse + * this connection, it has to be done by coprocessors. And close after the use. + * + * @param conf + * @return Connection created using the passed conf. + * @throws IOException + */ + Connection getConnection(Configuration conf) throws IOException; + + /** * Returns a MetricRegistry that can be used to track metrics at the region server level. All * metrics tracked at this level will be shared by all the coprocessor instances * of the same class in the same region server process. Note that there will be one diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.java index 116d86d..6f7337d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.java @@ -18,6 +18,9 @@ */ package org.apache.hadoop.hbase.coprocessor; +import java.io.IOException; + +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.ServerName; @@ -57,6 +60,22 @@ public interface RegionServerCoprocessorEnvironment Connection getConnection(); /** + * Creates a cluster connection using the passed configuration + *

Using this Connection to get at a local resource -- say a Region that is on the local + * Server or using Admin Interface from a Coprocessor hosted on the Master -- will result in a + * short-circuit of the RPC framework to make a direct invocation avoiding RPC (and + * protobuf marshalling/unmarshalling). + * + * Note : HBase will NOT cache/maintain this connection. If coprocessors need to cache and reuse + * this connection, it has to be done by coprocessors. And close after the use. + * + * @param conf + * @return Connection created using the passed conf. + * @throws IOException + */ + Connection getConnection(Configuration conf) throws IOException; + + /** * Returns a MetricRegistry that can be used to track metrics at the region server level. * *

See ExampleMasterObserverWithMetrics class in the hbase-examples modules for examples diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java index a63fb6e..26ab55b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java @@ -78,16 +78,14 @@ public class MasterCoprocessorHost */ private static class MasterEnvironment extends BaseEnvironment implements MasterCoprocessorEnvironment { - private final Connection connection; - private final ServerName serverName; private final boolean supportGroupCPs; private final MetricRegistry metricRegistry; + private final MasterServices services; public MasterEnvironment(final MasterCoprocessor impl, final int priority, final int seq, final Configuration conf, final MasterServices services) { super(impl, priority, seq, conf); - this.connection = services.getConnection(); - this.serverName = services.getServerName(); + this.services = services; supportGroupCPs = !useLegacyMethod(impl.getClass(), "preBalanceRSGroup", ObserverContext.class, String.class); this.metricRegistry = @@ -96,12 +94,17 @@ public class MasterCoprocessorHost @Override public ServerName getServerName() { - return this.serverName; + return this.services.getServerName(); } @Override public Connection getConnection() { - return this.connection; + return this.services.getConnection(); + } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return this.services.getConnection(conf); } @Override diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 03657c1..8c21834 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -3715,4 +3715,11 @@ public class HRegionServer extends HasThread implements public NettyEventLoopGroupConfig getEventLoopGroupConfig() { return eventLoopGroupConfig; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + User user = UserProvider.instantiate(conf).getCurrent(); + return ConnectionUtils.createShortCircuitConnection(conf, null, user, this.serverName, + this.rpcServices, this.rpcServices); + } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java index 2c8d9a6..d4b4ce1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java @@ -114,9 +114,7 @@ public class RegionCoprocessorHost private Region region; ConcurrentMap sharedData; private final MetricRegistry metricRegistry; - private final Connection connection; - private final ServerName serverName; - private final OnlineRegions onlineRegions; + private final RegionServerServices services; /** * Constructor @@ -128,11 +126,8 @@ public class RegionCoprocessorHost final RegionServerServices services, final ConcurrentMap sharedData) { super(impl, priority, seq, conf); this.region = region; - // Mocks may have services as null at test time. - this.connection = services != null? services.getConnection(): null; - this.serverName = services != null? services.getServerName(): null; this.sharedData = sharedData; - this.onlineRegions = services; + this.services = services; this.metricRegistry = MetricsCoprocessor.createRegistryForRegionCoprocessor(impl.getClass().getName()); } @@ -144,17 +139,23 @@ public class RegionCoprocessorHost } public OnlineRegions getOnlineRegions() { - return this.onlineRegions; + return this.services; } @Override public Connection getConnection() { - return this.connection; + // Mocks may have services as null at test time. + return services != null ? services.getConnection() : null; + } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return services != null ? this.services.getConnection(conf) : null; } @Override public ServerName getServerName() { - return this.serverName; + return services != null? services.getServerName(): null; } @Override diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java index fd5efba..62cfce6 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java @@ -210,9 +210,7 @@ public class RegionServerCoprocessorHost extends private static class RegionServerEnvironment extends BaseEnvironment implements RegionServerCoprocessorEnvironment { private final MetricRegistry metricRegistry; - private final Connection connection; - private final ServerName serverName; - private final OnlineRegions onlineRegions; + private final RegionServerServices services; @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BC_UNCONFIRMED_CAST", justification="Intentional; FB has trouble detecting isAssignableFrom") @@ -223,29 +221,32 @@ public class RegionServerCoprocessorHost extends for (Service service : impl.getServices()) { services.registerService(service); } - this.onlineRegions = services; - this.connection = services.getConnection(); - this.serverName = services.getServerName(); + this.services = services; this.metricRegistry = MetricsCoprocessor.createRegistryForRSCoprocessor(impl.getClass().getName()); } @Override public OnlineRegions getOnlineRegions() { - return this.onlineRegions; + return this.services; } @Override public ServerName getServerName() { - return this.serverName; + return this.services.getServerName(); } @Override public Connection getConnection() { - return this.connection; + return this.services.getConnection(); } @Override + public Connection getConnection(Configuration conf) throws IOException { + return this.services.getConnection(conf); + } + + @Override public MetricRegistry getMetricRegistryForRegionServer() { return metricRegistry; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java index 233159e..57fc327 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java @@ -17,6 +17,8 @@ */ package org.apache.hadoop.hbase.replication.regionserver; +import java.io.IOException; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -31,6 +33,7 @@ import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.zookeeper.MetaTableLocator; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; @@ -203,5 +206,10 @@ public class ReplicationSyncUp extends Configured implements Tool { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java index 53f27d1..67520d9 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java @@ -31,6 +31,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.locking.EntityLock; import org.apache.hadoop.hbase.executor.ExecutorService; @@ -329,4 +330,9 @@ public class MockRegionServerServices implements RegionServerServices { public RegionServerSpaceQuotaManager getRegionServerSpaceQuotaManager() { return null; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java index dadec1f..e54f9f6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java @@ -32,6 +32,7 @@ import org.apache.hadoop.hbase.TableDescriptors; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.ClusterConnection; import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.MasterSwitchType; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.TableDescriptor; @@ -460,4 +461,9 @@ public class MockNoopMasterServices implements MasterServices, Server { public FileSystem getFileSystem() { return null; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java index 8358e0a..67834ca 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java @@ -39,6 +39,7 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionInfoBuilder; import org.apache.hadoop.hbase.client.Result; @@ -672,4 +673,9 @@ ClientProtos.ClientService.BlockingInterface, RegionServerServices { throws ServiceException { return null; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java index 6fcd8ec..393995d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java @@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.monitoring.MonitoredTask; import org.apache.hadoop.hbase.testclassification.MasterTests; import org.apache.hadoop.hbase.testclassification.MediumTests; @@ -343,5 +344,10 @@ public class TestActiveMasterManager { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java index 97d6189..703769b 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java @@ -39,6 +39,7 @@ import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.testclassification.MasterTests; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.EnvironmentEdge; @@ -272,6 +273,11 @@ public class TestHFileCleaner { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } @Test diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java index 9820fd0..46ae9b8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java @@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.io.HFileLink; import org.apache.hadoop.hbase.testclassification.MasterTests; import org.apache.hadoop.hbase.testclassification.MediumTests; @@ -211,5 +212,10 @@ public class TestHFileLinkCleaner { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java index 4ccc677..12601b9 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java @@ -47,6 +47,7 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.Waiter; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.replication.ReplicationFactory; import org.apache.hadoop.hbase.replication.ReplicationQueues; import org.apache.hadoop.hbase.replication.ReplicationQueuesArguments; @@ -319,6 +320,11 @@ public class TestLogsCleaner { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } static class FaultyZooKeeperWatcher extends ZKWatcher { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestReplicationHFileCleaner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestReplicationHFileCleaner.java index b2ae3bd..c1946ad 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestReplicationHFileCleaner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestReplicationHFileCleaner.java @@ -40,6 +40,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.replication.ReplicationException; import org.apache.hadoop.hbase.replication.ReplicationFactory; import org.apache.hadoop.hbase.replication.ReplicationPeerConfig; @@ -330,6 +331,11 @@ public class TestReplicationHFileCleaner { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } static class FaultyZooKeeperWatcher extends ZKWatcher { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java index 2a3ce00..e019f04 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java @@ -23,6 +23,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import java.io.IOException; import java.lang.management.ManagementFactory; import java.util.Iterator; @@ -37,6 +38,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.Waiter; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.io.hfile.BlockCache; import org.apache.hadoop.hbase.io.hfile.BlockCacheKey; import org.apache.hadoop.hbase.io.hfile.CacheStats; @@ -857,6 +859,11 @@ public class TestHeapMemoryManager { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } static class CustomHeapMemoryTuner implements HeapMemoryTuner { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java index f241f85..299f108 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java @@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.io.IOException; import java.util.List; import java.util.concurrent.atomic.LongAdder; @@ -43,6 +44,7 @@ import org.apache.hadoop.hbase.SplitLogCounters; import org.apache.hadoop.hbase.SplitLogTask; import org.apache.hadoop.hbase.Waiter; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.coordination.ZkCoordinatedStateManager; import org.apache.hadoop.hbase.executor.ExecutorService; import org.apache.hadoop.hbase.executor.ExecutorType; @@ -157,6 +159,11 @@ public class TestSplitLogWorker { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } private void waitForCounter(LongAdder ctr, long oldval, long newval, long timems) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWALLockup.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWALLockup.java index 10a84b1..1b4d9dd 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWALLockup.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWALLockup.java @@ -41,6 +41,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.regionserver.wal.DamagedWALException; @@ -569,6 +570,11 @@ public class TestWALLockup { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } static class DummyWALActionsListener extends WALActionsListener.Base { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java index 97daa63..a64f3d5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java @@ -26,6 +26,7 @@ import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.ReplicationTests; import org.apache.hadoop.hbase.zookeeper.MetaTableLocator; @@ -485,5 +486,10 @@ public class TestReplicationStateHBaseImpl { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java index bb9f665..8801aa3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java @@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.ReplicationTests; import org.apache.hadoop.hbase.zookeeper.MetaTableLocator; @@ -217,5 +218,10 @@ public class TestReplicationStateZKImpl extends TestReplicationStateBasic { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java index 2db4f76..96a84bc 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java @@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -38,6 +39,7 @@ import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.ReplicationTests; import org.apache.hadoop.hbase.zookeeper.MetaTableLocator; @@ -317,5 +319,10 @@ public class TestReplicationTrackerZKImpl { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java index 7730100..a208e25 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java @@ -60,6 +60,7 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.Waiter; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl; import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener; import org.apache.hadoop.hbase.wal.WALEdit; @@ -731,5 +732,10 @@ public abstract class TestReplicationSourceManager { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java index 3e0bddc..5a426aa 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java @@ -323,6 +323,11 @@ public class TestTokenAuthentication { public Connection getConnection() { return null; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } }); started = true; @@ -410,6 +415,11 @@ public class TestTokenAuthentication { // TODO Auto-generated method stub return null; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } } @Parameters(name = "{index}: rpcServerImpl={0}") diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java index 4acec76..bbd8b9c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java @@ -30,6 +30,7 @@ import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.ClusterConnection; +import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.zookeeper.MetaTableLocator; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; @@ -144,4 +145,9 @@ public class MockServer implements Server { public boolean isStopping() { return false; } + + @Override + public Connection getConnection(Configuration conf) throws IOException { + return null; + } }