in hbase-hbck2/src/main/java/org/apache/hbase/Version.java [39:78]
static boolean check(final String version, String ... thresholdVersions) {
if (thresholdVersions == null) {
return true;
}
boolean supported = false;
// Components of the server version string.
String [] versionComponents = getVersionComponents(version);
boolean excessiveMajor = false;
boolean excessiveMinor = false;
for (String thresholdVersion: thresholdVersions) {
// Get components of current threshold version.
String[] thresholdVersionComponents = getVersionComponents(thresholdVersion);
int serverMajor = Integer.parseInt(versionComponents[MAJOR]);
int thresholdMajor = Integer.parseInt(thresholdVersionComponents[MAJOR]);
if (serverMajor > thresholdMajor) {
excessiveMajor = true;
continue;
}
excessiveMajor = false;
if (serverMajor < thresholdMajor) {
continue;
}
int serverMinor = Integer.parseInt(versionComponents[MINOR]);
int thresholdMinor = Integer.parseInt(thresholdVersionComponents[MINOR]);
if (serverMinor > thresholdMinor) {
excessiveMinor = true;
continue;
}
excessiveMinor = false;
if (serverMinor < thresholdMinor) {
continue;
}
if (Integer.parseInt(versionComponents[PATCH]) >=
Integer.parseInt(thresholdVersionComponents[PATCH])) {
supported = true;
}
break;
}
return supported || excessiveMajor || excessiveMinor;
}