You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2016/06/28 14:48:48 UTC
hbase git commit: HBASE-16121 Require only MasterServices to the
ServerManager constructor
Repository: hbase
Updated Branches:
refs/heads/master e768c4afa -> 8bc4d4131
HBASE-16121 Require only MasterServices to the ServerManager constructor
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8bc4d413
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8bc4d413
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8bc4d413
Branch: refs/heads/master
Commit: 8bc4d4131c341338859eecabf4a2a3723cca9b83
Parents: e768c4a
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Tue Jun 28 07:42:40 2016 -0700
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Tue Jun 28 07:42:40 2016 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/master/HMaster.java | 8 ++-
.../hadoop/hbase/master/ServerManager.java | 33 +++++-------
.../hbase/master/TestClockSkewDetection.java | 56 +-------------------
.../hbase/master/TestMasterNoCluster.java | 5 +-
4 files changed, 21 insertions(+), 81 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/8bc4d413/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index 3803635..a18a51f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -689,7 +689,7 @@ public class HMaster extends HRegionServer implements MasterServices {
status.setStatus("Publishing Cluster ID in ZooKeeper");
ZKClusterId.setClusterId(this.zooKeeper, fileSystemManager.getClusterId());
- this.serverManager = createServerManager(this, this);
+ this.serverManager = createServerManager(this);
// Invalidate all write locks held previously
this.tableLockManager.reapWriteLocks();
@@ -881,13 +881,11 @@ public class HMaster extends HRegionServer implements MasterServices {
/**
* Create a {@link ServerManager} instance.
*/
- ServerManager createServerManager(final Server master,
- final MasterServices services)
- throws IOException {
+ ServerManager createServerManager(final MasterServices master) throws IOException {
// We put this out here in a method so can do a Mockito.spy and stub it out
// w/ a mocked up ServerManager.
setupClusterConnection();
- return new ServerManager(master, services);
+ return new ServerManager(master);
}
private void unassignExcessMetaReplica(ZooKeeperWatcher zkw, int numMetaReplicasConfigured) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/8bc4d413/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
index 37659f8..f8ab30f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
@@ -150,8 +150,7 @@ public class ServerManager {
private final ArrayList<ServerName> drainingServers =
new ArrayList<ServerName>();
- private final Server master;
- private final MasterServices services;
+ private final MasterServices master;
private final ClusterConnection connection;
private final DeadServer deadservers = new DeadServer();
@@ -204,18 +203,14 @@ public class ServerManager {
/**
* Constructor.
* @param master
- * @param services
* @throws ZooKeeperConnectionException
*/
- public ServerManager(final Server master, final MasterServices services)
- throws IOException {
- this(master, services, true);
+ public ServerManager(final MasterServices master) throws IOException {
+ this(master, true);
}
- ServerManager(final Server master, final MasterServices services,
- final boolean connect) throws IOException {
+ ServerManager(final MasterServices master, final boolean connect) throws IOException {
this.master = master;
- this.services = services;
Configuration c = master.getConfiguration();
maxSkew = c.getLong("hbase.master.maxclockskew", 30000);
warningSkew = c.getLong("hbase.master.warningclockskew", 10000);
@@ -430,7 +425,7 @@ public class ServerManager {
}
// remove dead server with same hostname and port of newly checking in rs after master
// initialization.See HBASE-5916 for more information.
- if ((this.services == null || this.services.isInitialized())
+ if ((this.master == null || this.master.isInitialized())
&& this.deadservers.cleanPreviousInstance(serverName)) {
// This server has now become alive after we marked it as dead.
// We removed it's previous entry from the dead list to reflect it.
@@ -595,7 +590,7 @@ public class ServerManager {
}
return;
}
- if (!services.isServerCrashProcessingEnabled()) {
+ if (!master.isServerCrashProcessingEnabled()) {
LOG.info("Master doesn't enable ServerShutdownHandler during initialization, "
+ "delay expiring server " + serverName);
this.queuedDeadServers.add(serverName);
@@ -620,8 +615,8 @@ public class ServerManager {
return;
}
- boolean carryingMeta = services.getAssignmentManager().isCarryingMeta(serverName);
- this.services.getMasterProcedureExecutor().
+ boolean carryingMeta = master.getAssignmentManager().isCarryingMeta(serverName);
+ this.master.getMasterProcedureExecutor().
submitProcedure(new ServerCrashProcedure(serverName, true, carryingMeta));
LOG.debug("Added=" + serverName +
" to dead servers, submitted shutdown handler to be executed meta=" + carryingMeta);
@@ -659,13 +654,13 @@ public class ServerManager {
// We should not wait in the server shutdown handler thread since it can clog
// the handler threads and meta table could not be re-assigned in case
// the corresponding server is down. So we queue them up here instead.
- if (!services.getAssignmentManager().isFailoverCleanupDone()) {
+ if (!master.getAssignmentManager().isFailoverCleanupDone()) {
requeuedDeadServers.put(serverName, shouldSplitWal);
return;
}
this.deadservers.add(serverName);
- this.services.getMasterProcedureExecutor().
+ this.master.getMasterProcedureExecutor().
submitProcedure(new ServerCrashProcedure(serverName, shouldSplitWal, false));
}
@@ -674,7 +669,7 @@ public class ServerManager {
* called after HMaster#assignMeta and AssignmentManager#joinCluster.
* */
synchronized void processQueuedDeadServers() {
- if (!services.isServerCrashProcessingEnabled()) {
+ if (!master.isServerCrashProcessingEnabled()) {
LOG.info("Master hasn't enabled ServerShutdownHandler");
}
Iterator<ServerName> serverIterator = queuedDeadServers.iterator();
@@ -685,7 +680,7 @@ public class ServerManager {
requeuedDeadServers.remove(tmpServerName);
}
- if (!services.getAssignmentManager().isFailoverCleanupDone()) {
+ if (!master.getAssignmentManager().isFailoverCleanupDone()) {
LOG.info("AssignmentManager hasn't finished failover cleanup; waiting");
}
@@ -753,7 +748,7 @@ public class ServerManager {
}
OpenRegionRequest request = RequestConverter.buildOpenRegionRequest(server,
region, favoredNodes,
- (RecoveryMode.LOG_REPLAY == this.services.getMasterWalManager().getLogRecoveryMode()));
+ (RecoveryMode.LOG_REPLAY == this.master.getMasterWalManager().getLogRecoveryMode()));
try {
OpenRegionResponse response = admin.openRegion(null, request);
return ResponseConverter.getRegionOpeningState(response);
@@ -781,7 +776,7 @@ public class ServerManager {
}
OpenRegionRequest request = RequestConverter.buildOpenRegionRequest(server, regionOpenInfos,
- (RecoveryMode.LOG_REPLAY == this.services.getMasterWalManager().getLogRecoveryMode()));
+ (RecoveryMode.LOG_REPLAY == this.master.getMasterWalManager().getLogRecoveryMode()));
try {
OpenRegionResponse response = admin.openRegion(null, request);
return ResponseConverter.getRegionOpeningStateList(response);
http://git-wip-us.apache.org/repos/asf/hbase/blob/8bc4d413/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
index b2ffc3e..abaeffd 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
@@ -51,66 +51,14 @@ public class TestClockSkewDetection {
@Test
public void testClockSkewDetection() throws Exception {
final Configuration conf = HBaseConfiguration.create();
- ServerManager sm = new ServerManager(new Server() {
- @Override
- public ClusterConnection getConnection() {
- return null;
- }
-
- @Override
- public MetaTableLocator getMetaTableLocator() {
- return null;
- }
-
- @Override
- public Configuration getConfiguration() {
- return conf;
- }
-
- @Override
- public ServerName getServerName() {
- return null;
- }
-
- @Override
- public ZooKeeperWatcher getZooKeeper() {
- return null;
- }
-
- @Override
- public CoordinatedStateManager getCoordinatedStateManager() {
- return null;
- }
-
- @Override
- public void abort(String why, Throwable e) {}
-
- @Override
- public boolean isAborted() {
- return false;
- }
-
- @Override
- public boolean isStopped() {
- return false;
- }
-
- @Override
- public void stop(String why) {
- }
-
- @Override
- public ChoreService getChoreService() {
- return null;
- }
-
+ ServerManager sm = new ServerManager(new MockNoopMasterServices(conf) {
@Override
public ClusterConnection getClusterConnection() {
ClusterConnection conn = mock(ClusterConnection.class);
when(conn.getRpcControllerFactory()).thenReturn(mock(RpcControllerFactory.class));
return conn;
}
- }, null, true);
+ }, true);
LOG.debug("regionServerStartup 1");
InetAddress ia1 = InetAddress.getLocalHost();
http://git-wip-us.apache.org/repos/asf/hbase/blob/8bc4d413/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
index da0b9a6..56ab875 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
@@ -207,9 +207,8 @@ public class TestMasterNoCluster {
void initClusterSchemaService() throws IOException, InterruptedException {}
@Override
- ServerManager createServerManager(Server master, MasterServices services)
- throws IOException {
- ServerManager sm = super.createServerManager(master, services);
+ ServerManager createServerManager(MasterServices master) throws IOException {
+ ServerManager sm = super.createServerManager(master);
// Spy on the created servermanager
ServerManager spy = Mockito.spy(sm);
// Fake a successful close.