You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2018/07/10 02:58:13 UTC
hbase git commit: HBASE-20784 Will lose the SNAPSHOT suffix if we get
the version of RS from ServerManager
Repository: hbase
Updated Branches:
refs/heads/master ad5b4af2c -> d7561cee5
HBASE-20784 Will lose the SNAPSHOT suffix if we get the version of RS from ServerManager
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d7561cee
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d7561cee
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d7561cee
Branch: refs/heads/master
Commit: d7561cee50acf2e3a52b8a38c71259d60b653ed3
Parents: ad5b4af
Author: zhangduo <zh...@apache.org>
Authored: Fri Jul 6 15:10:22 2018 +0800
Committer: zhangduo <zh...@apache.org>
Committed: Tue Jul 10 09:59:41 2018 +0800
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/ServerMetrics.java | 7 ++
.../hadoop/hbase/ServerMetricsBuilder.java | 68 ++++++++++++--------
.../hadoop/hbase/client/VersionInfoUtil.java | 10 +--
.../org/apache/hadoop/hbase/master/HMaster.java | 10 ++-
.../hadoop/hbase/master/MasterRpcServices.java | 45 ++++++++-----
.../hbase/master/RegionServerTracker.java | 7 +-
.../hadoop/hbase/master/ServerManager.java | 30 +++++----
.../master/assignment/AssignmentManager.java | 4 +-
.../master/procedure/RSProcedureDispatcher.java | 2 +-
.../hbase/master/TestClockSkewDetection.java | 10 +--
.../hadoop/hbase/master/TestRestartCluster.java | 2 +-
11 files changed, 112 insertions(+), 83 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
index 680b924..1e1d395 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
@@ -41,6 +41,13 @@ public interface ServerMetrics {
}
/**
+ * @return the string type version of a regionserver.
+ */
+ default String getVersion() {
+ return "0.0.0";
+ }
+
+ /**
* @return the number of requests per second.
*/
long getRequestCountPerSecond();
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
index 96ead7b..333344b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
@@ -48,41 +48,40 @@ public final class ServerMetricsBuilder {
return newBuilder(sn).build();
}
- public static ServerMetrics of(ServerName sn, int versionNumber) {
- return newBuilder(sn).setVersionNumber(versionNumber).build();
+ public static ServerMetrics of(ServerName sn, int versionNumber, String version) {
+ return newBuilder(sn).setVersionNumber(versionNumber).setVersion(version).build();
}
public static ServerMetrics toServerMetrics(ClusterStatusProtos.LiveServerInfo serverInfo) {
- return toServerMetrics(ProtobufUtil.toServerName(serverInfo.getServer()), 0,
- serverInfo.getServerLoad());
+ return toServerMetrics(ProtobufUtil.toServerName(serverInfo.getServer()), 0, "0.0.0",
+ serverInfo.getServerLoad());
}
public static ServerMetrics toServerMetrics(ServerName serverName,
ClusterStatusProtos.ServerLoad serverLoadPB) {
- return toServerMetrics(serverName, 0, serverLoadPB);
+ return toServerMetrics(serverName, 0, "0.0.0", serverLoadPB);
}
public static ServerMetrics toServerMetrics(ServerName serverName, int versionNumber,
- ClusterStatusProtos.ServerLoad serverLoadPB) {
- return ServerMetricsBuilder.newBuilder(serverName).setVersionNumber(versionNumber)
- .setRequestCountPerSecond(serverLoadPB.getNumberOfRequests())
- .setRequestCount(serverLoadPB.getTotalNumberOfRequests())
- .setInfoServerPort(serverLoadPB.getInfoServerPort())
- .setMaxHeapSize(new Size(serverLoadPB.getMaxHeapMB(), Size.Unit.MEGABYTE))
- .setUsedHeapSize(new Size(serverLoadPB.getUsedHeapMB(), Size.Unit.MEGABYTE))
- .setCoprocessorNames(serverLoadPB.getCoprocessorsList().stream()
- .map(HBaseProtos.Coprocessor::getName).collect(Collectors.toList()))
- .setRegionMetrics(serverLoadPB.getRegionLoadsList().stream()
- .map(RegionMetricsBuilder::toRegionMetrics)
- .collect(Collectors.toList()))
- .setReplicationLoadSources(serverLoadPB.getReplLoadSourceList().stream()
- .map(ProtobufUtil::toReplicationLoadSource)
- .collect(Collectors.toList()))
- .setReplicationLoadSink(serverLoadPB.hasReplLoadSink() ?
- ProtobufUtil.toReplicationLoadSink(serverLoadPB.getReplLoadSink()) : null)
- .setReportTimestamp(serverLoadPB.getReportEndTime())
- .setLastReportTimestamp(serverLoadPB.getReportStartTime())
- .build();
+ String version, ClusterStatusProtos.ServerLoad serverLoadPB) {
+ return ServerMetricsBuilder.newBuilder(serverName)
+ .setRequestCountPerSecond(serverLoadPB.getNumberOfRequests())
+ .setRequestCount(serverLoadPB.getTotalNumberOfRequests())
+ .setInfoServerPort(serverLoadPB.getInfoServerPort())
+ .setMaxHeapSize(new Size(serverLoadPB.getMaxHeapMB(), Size.Unit.MEGABYTE))
+ .setUsedHeapSize(new Size(serverLoadPB.getUsedHeapMB(), Size.Unit.MEGABYTE))
+ .setCoprocessorNames(serverLoadPB.getCoprocessorsList().stream()
+ .map(HBaseProtos.Coprocessor::getName).collect(Collectors.toList()))
+ .setRegionMetrics(serverLoadPB.getRegionLoadsList().stream()
+ .map(RegionMetricsBuilder::toRegionMetrics).collect(Collectors.toList()))
+ .setReplicationLoadSources(serverLoadPB.getReplLoadSourceList().stream()
+ .map(ProtobufUtil::toReplicationLoadSource).collect(Collectors.toList()))
+ .setReplicationLoadSink(serverLoadPB.hasReplLoadSink()
+ ? ProtobufUtil.toReplicationLoadSink(serverLoadPB.getReplLoadSink())
+ : null)
+ .setReportTimestamp(serverLoadPB.getReportEndTime())
+ .setLastReportTimestamp(serverLoadPB.getReportStartTime()).setVersionNumber(versionNumber)
+ .setVersion(version).build();
}
public static List<HBaseProtos.Coprocessor> toCoprocessor(Collection<String> names) {
@@ -120,6 +119,7 @@ public final class ServerMetricsBuilder {
private final ServerName serverName;
private int versionNumber;
+ private String version = "0.0.0";
private long requestCountPerSecond;
private long requestCount;
private Size usedHeapSize = Size.ZERO;
@@ -141,6 +141,11 @@ public final class ServerMetricsBuilder {
return this;
}
+ public ServerMetricsBuilder setVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
public ServerMetricsBuilder setRequestCountPerSecond(long value) {
this.requestCountPerSecond = value;
return this;
@@ -200,6 +205,7 @@ public final class ServerMetricsBuilder {
return new ServerMetricsImpl(
serverName,
versionNumber,
+ version,
requestCountPerSecond,
requestCount,
usedHeapSize,
@@ -216,6 +222,7 @@ public final class ServerMetricsBuilder {
private static class ServerMetricsImpl implements ServerMetrics {
private final ServerName serverName;
private final int versionNumber;
+ private final String version;
private final long requestCountPerSecond;
private final long requestCount;
private final Size usedHeapSize;
@@ -229,13 +236,14 @@ public final class ServerMetricsBuilder {
private final long reportTimestamp;
private final long lastReportTimestamp;
- ServerMetricsImpl(ServerName serverName, int versionNumber, long requestCountPerSecond,
- long requestCount, Size usedHeapSize, Size maxHeapSize, int infoServerPort,
- List<ReplicationLoadSource> sources, ReplicationLoadSink sink,
+ ServerMetricsImpl(ServerName serverName, int versionNumber, String version,
+ long requestCountPerSecond, long requestCount, Size usedHeapSize, Size maxHeapSize,
+ int infoServerPort, List<ReplicationLoadSource> sources, ReplicationLoadSink sink,
Map<byte[], RegionMetrics> regionStatus, Set<String> coprocessorNames, long reportTimestamp,
long lastReportTimestamp) {
this.serverName = Preconditions.checkNotNull(serverName);
this.versionNumber = versionNumber;
+ this.version = version;
this.requestCountPerSecond = requestCountPerSecond;
this.requestCount = requestCount;
this.usedHeapSize = Preconditions.checkNotNull(usedHeapSize);
@@ -259,6 +267,10 @@ public final class ServerMetricsBuilder {
return versionNumber;
}
+ public String getVersion() {
+ return version;
+ }
+
@Override
public long getRequestCountPerSecond() {
return requestCountPerSecond;
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
index cde59eb..b610d84a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
@@ -70,18 +70,10 @@ public final class VersionInfoUtil {
/**
* @return the versionInfo extracted from the current RpcCallContext
*/
- private static HBaseProtos.VersionInfo getCurrentClientVersionInfo() {
+ public static HBaseProtos.VersionInfo getCurrentClientVersionInfo() {
return RpcServer.getCurrentCall().map(RpcCallContext::getClientVersionInfo).orElse(null);
}
- /**
- * @return the version number extracted from the current RpcCallContext as int.
- * (e.g. 0x0103004 is 1.3.4)
- */
- public static int getCurrentClientVersionNumber() {
- return getVersionNumber(getCurrentClientVersionInfo());
- }
-
/**
* @param version
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/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 b05f3e1..f1bec35 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
@@ -88,7 +88,6 @@ import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.client.TableState;
-import org.apache.hadoop.hbase.client.VersionInfoUtil;
import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.exceptions.MergeRegionException;
@@ -2707,11 +2706,10 @@ public class HMaster extends HRegionServer implements MasterServices {
}
@Override
- public String getRegionServerVersion(final ServerName sn) {
- // Will return 0 if the server is not online to prevent move system region to unknown version
- // RS.
- int versionNumber = this.serverManager.getServerVersion(sn);
- return VersionInfoUtil.versionNumberToString(versionNumber);
+ public String getRegionServerVersion(ServerName sn) {
+ // Will return "0.0.0" if the server is not online to prevent move system region to unknown
+ // version RS.
+ return this.serverManager.getVersion(sn);
}
@Override
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index fbc5589..febd035 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -118,6 +118,7 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;
import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;
import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;
+import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;
import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockHeartbeatResponse;
import org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest;
@@ -452,22 +453,29 @@ public class MasterRpcServices extends RSRpcServices
}
@Override
- public RegionServerReportResponse regionServerReport(
- RpcController controller, RegionServerReportRequest request) throws ServiceException {
+ public RegionServerReportResponse regionServerReport(RpcController controller,
+ RegionServerReportRequest request) throws ServiceException {
try {
master.checkServiceStarted();
- int version = VersionInfoUtil.getCurrentClientVersionNumber();
+ int versionNumber = 0;
+ String version = "0.0.0";
+ VersionInfo versionInfo = VersionInfoUtil.getCurrentClientVersionInfo();
+ if (versionInfo != null) {
+ version = versionInfo.getVersion();
+ versionNumber = VersionInfoUtil.getVersionNumber(versionInfo);
+ }
ClusterStatusProtos.ServerLoad sl = request.getLoad();
ServerName serverName = ProtobufUtil.toServerName(request.getServer());
ServerMetrics oldLoad = master.getServerManager().getLoad(serverName);
- ServerMetrics newLoad = ServerMetricsBuilder.toServerMetrics(serverName, version, sl);
+ ServerMetrics newLoad =
+ ServerMetricsBuilder.toServerMetrics(serverName, versionNumber, version, sl);
master.getServerManager().regionServerReport(serverName, newLoad);
- master.getAssignmentManager()
- .reportOnlineRegions(serverName, newLoad.getRegionMetrics().keySet());
+ master.getAssignmentManager().reportOnlineRegions(serverName,
+ newLoad.getRegionMetrics().keySet());
if (sl != null && master.metricsMaster != null) {
// Up our metrics.
- master.metricsMaster.incrementRequests(sl.getTotalNumberOfRequests()
- - (oldLoad != null ? oldLoad.getRequestCount() : 0));
+ master.metricsMaster.incrementRequests(
+ sl.getTotalNumberOfRequests() - (oldLoad != null ? oldLoad.getRequestCount() : 0));
}
} catch (IOException ioe) {
throw new ServiceException(ioe);
@@ -476,23 +484,28 @@ public class MasterRpcServices extends RSRpcServices
}
@Override
- public RegionServerStartupResponse regionServerStartup(
- RpcController controller, RegionServerStartupRequest request) throws ServiceException {
+ public RegionServerStartupResponse regionServerStartup(RpcController controller,
+ RegionServerStartupRequest request) throws ServiceException {
// Register with server manager
try {
master.checkServiceStarted();
- int version = VersionInfoUtil.getCurrentClientVersionNumber();
- InetAddress ia = master.getRemoteInetAddress(
- request.getPort(), request.getServerStartCode());
+ int versionNumber = 0;
+ String version = "0.0.0";
+ VersionInfo versionInfo = VersionInfoUtil.getCurrentClientVersionInfo();
+ if (versionInfo != null) {
+ version = versionInfo.getVersion();
+ versionNumber = VersionInfoUtil.getVersionNumber(versionInfo);
+ }
+ InetAddress ia = master.getRemoteInetAddress(request.getPort(), request.getServerStartCode());
// if regionserver passed hostname to use,
// then use it instead of doing a reverse DNS lookup
- ServerName rs = master.getServerManager().regionServerStartup(request, version, ia);
+ ServerName rs =
+ master.getServerManager().regionServerStartup(request, versionNumber, version, ia);
// Send back some config info
RegionServerStartupResponse.Builder resp = createConfigurationSubset();
NameStringPair.Builder entry = NameStringPair.newBuilder()
- .setName(HConstants.KEY_FOR_HOSTNAME_SEEN_BY_MASTER)
- .setValue(rs.getHostname());
+ .setName(HConstants.KEY_FOR_HOSTNAME_SEEN_BY_MASTER).setValue(rs.getHostname());
resp.addMapEntries(entry.build());
return resp.build();
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
index c599f78..db46ef0 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionServerTracker.java
@@ -127,10 +127,9 @@ public class RegionServerTracker extends ZKListener {
ServerName serverName = pair.getFirst();
RegionServerInfo info = pair.getSecond();
regionServers.add(serverName);
- ServerMetrics serverMetrics = info != null
- ? ServerMetricsBuilder.of(serverName,
- VersionInfoUtil.getVersionNumber(info.getVersionInfo()))
- : ServerMetricsBuilder.of(serverName);
+ ServerMetrics serverMetrics = info != null ? ServerMetricsBuilder.of(serverName,
+ VersionInfoUtil.getVersionNumber(info.getVersionInfo()),
+ info.getVersionInfo().getVersion()) : ServerMetricsBuilder.of(serverName);
serverManager.checkAndRecordNewServer(serverName, serverMetrics);
}
serverManager.findOutDeadServersAndProcess(deadServersFromPE, liveServersFromWALDir);
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/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 201466e..8841808 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
@@ -214,30 +214,30 @@ public class ServerManager {
/**
* Let the server manager know a new regionserver has come online
* @param request the startup request
- * @param versionNumber the version of the new regionserver
+ * @param versionNumber the version number of the new regionserver
+ * @param version the version of the new regionserver, could contain strings like "SNAPSHOT"
* @param ia the InetAddress from which request is received
* @return The ServerName we know this server as.
* @throws IOException
*/
ServerName regionServerStartup(RegionServerStartupRequest request, int versionNumber,
- InetAddress ia) throws IOException {
+ String version, InetAddress ia) throws IOException {
// Test for case where we get a region startup message from a regionserver
// that has been quickly restarted but whose znode expiration handler has
// not yet run, or from a server whose fail we are currently processing.
- // Test its host+port combo is present in serverAddressToServerInfo. If it
+ // Test its host+port combo is present in serverAddressToServerInfo. If it
// is, reject the server and trigger its expiration. The next time it comes
// in, it should have been removed from serverAddressToServerInfo and queued
// for processing by ProcessServerShutdown.
- final String hostname = request.hasUseThisHostnameInstead() ?
- request.getUseThisHostnameInstead() :ia.getHostName();
- ServerName sn = ServerName.valueOf(hostname, request.getPort(),
- request.getServerStartCode());
+ final String hostname =
+ request.hasUseThisHostnameInstead() ? request.getUseThisHostnameInstead() : ia.getHostName();
+ ServerName sn = ServerName.valueOf(hostname, request.getPort(), request.getServerStartCode());
checkClockSkew(sn, request.getServerCurrentTime());
checkIsDead(sn, "STARTUP");
- if (!checkAndRecordNewServer(sn, ServerMetricsBuilder.of(sn, versionNumber))) {
- LOG.warn("THIS SHOULD NOT HAPPEN, RegionServerStartup"
- + " could not record the server: " + sn);
+ if (!checkAndRecordNewServer(sn, ServerMetricsBuilder.of(sn, versionNumber, version))) {
+ LOG.warn(
+ "THIS SHOULD NOT HAPPEN, RegionServerStartup" + " could not record the server: " + sn);
}
return sn;
}
@@ -1021,11 +1021,19 @@ public class ServerManager {
/**
* May return 0 when server is not online.
*/
- public int getServerVersion(final ServerName serverName) {
+ public int getVersionNumber(ServerName serverName) {
ServerMetrics serverMetrics = onlineServers.get(serverName);
return serverMetrics != null ? serverMetrics.getVersionNumber() : 0;
}
+ /**
+ * May return "0.0.0" when server is not online
+ */
+ public String getVersion(ServerName serverName) {
+ ServerMetrics serverMetrics = onlineServers.get(serverName);
+ return serverMetrics != null ? serverMetrics.getVersion() : "0.0.0";
+ }
+
public int getInfoPort(ServerName serverName) {
ServerMetrics serverMetrics = onlineServers.get(serverName);
return serverMetrics != null ? serverMetrics.getInfoServerPort() : 0;
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
index dbfb6d1..f5cd0a3 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
@@ -898,7 +898,7 @@ public class AssignmentManager implements ServerListener {
master.getMasterProcedureExecutor().submitProcedure(createSplitProcedure(parent, splitKey));
// If the RS is < 2.0 throw an exception to abort the operation, we are handling the split
- if (master.getServerManager().getServerVersion(serverName) < 0x0200000) {
+ if (master.getServerManager().getVersionNumber(serverName) < 0x0200000) {
throw new UnsupportedOperationException(String.format(
"Split handled by the master: parent=%s hriA=%s hriB=%s", parent.getShortNameToLog(), hriA, hriB));
}
@@ -921,7 +921,7 @@ public class AssignmentManager implements ServerListener {
master.getMasterProcedureExecutor().submitProcedure(createMergeProcedure(hriA, hriB));
// If the RS is < 2.0 throw an exception to abort the operation, we are handling the merge
- if (master.getServerManager().getServerVersion(serverName) < 0x0200000) {
+ if (master.getServerManager().getVersionNumber(serverName) < 0x0200000) {
throw new UnsupportedOperationException(String.format(
"Merge not handled yet: regionState=%s merged=%s hriA=%s hriB=%s", state, merged, hriA,
hriB));
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
index c682fa2..3959af7 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
@@ -108,7 +108,7 @@ public class RSProcedureDispatcher
@Override
protected void remoteDispatch(final ServerName serverName,
final Set<RemoteProcedure> remoteProcedures) {
- final int rsVersion = master.getServerManager().getServerVersion(serverName);
+ final int rsVersion = master.getServerManager().getVersionNumber(serverName);
if (rsVersion >= RS_VERSION_WITH_EXEC_PROCS) {
LOG.trace("Using procedure batch rpc execution for serverName={} version={}", serverName,
rsVersion);
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/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 877c382..a0aae32 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
@@ -66,7 +66,7 @@ public class TestClockSkewDetection {
request.setPort(1234);
request.setServerStartCode(-1);
request.setServerCurrentTime(System.currentTimeMillis());
- sm.regionServerStartup(request.build(), 0, ia1);
+ sm.regionServerStartup(request.build(), 0, "0.0.0", ia1);
final Configuration c = HBaseConfiguration.create();
long maxSkew = c.getLong("hbase.master.maxclockskew", 30000);
@@ -81,7 +81,7 @@ public class TestClockSkewDetection {
request.setPort(1235);
request.setServerStartCode(-1);
request.setServerCurrentTime(System.currentTimeMillis() - maxSkew * 2);
- sm.regionServerStartup(request.build(), 0, ia2);
+ sm.regionServerStartup(request.build(), 0, "0.0.0", ia2);
fail("HMaster should have thrown a ClockOutOfSyncException but didn't.");
} catch(ClockOutOfSyncException e) {
//we want an exception
@@ -97,7 +97,7 @@ public class TestClockSkewDetection {
request.setPort(1236);
request.setServerStartCode(-1);
request.setServerCurrentTime(System.currentTimeMillis() + maxSkew * 2);
- sm.regionServerStartup(request.build(), 0, ia3);
+ sm.regionServerStartup(request.build(), 0, "0.0.0", ia3);
fail("HMaster should have thrown a ClockOutOfSyncException but didn't.");
} catch (ClockOutOfSyncException e) {
// we want an exception
@@ -111,7 +111,7 @@ public class TestClockSkewDetection {
request.setPort(1237);
request.setServerStartCode(-1);
request.setServerCurrentTime(System.currentTimeMillis() - warningSkew * 2);
- sm.regionServerStartup(request.build(), 0, ia4);
+ sm.regionServerStartup(request.build(), 0, "0.0.0", ia4);
// make sure values above warning threshold but below max threshold don't kill
LOG.debug("regionServerStartup 5");
@@ -120,6 +120,6 @@ public class TestClockSkewDetection {
request.setPort(1238);
request.setServerStartCode(-1);
request.setServerCurrentTime(System.currentTimeMillis() + warningSkew * 2);
- sm.regionServerStartup(request.build(), 0, ia5);
+ sm.regionServerStartup(request.build(), 0, "0.0.0", ia5);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7561cee/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
index 8161a63..04720cd 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
@@ -234,7 +234,7 @@ public class TestRestartCluster {
while (t.isAlive()) {
List<ServerName> serverNames = master.getServerManager().getOnlineServersList();
for (ServerName serverName : serverNames) {
- assertNotEquals(0, master.getServerManager().getServerVersion(serverName));
+ assertNotEquals(0, master.getServerManager().getVersionNumber(serverName));
}
Thread.sleep(100);
}