Repository: hbase
Updated Branches:
  refs/heads/master 286245987 -> d909ec55a


HBASE-20444 Addendum keep folks from looking at raw version component array.

Signed-off-by: Andrew Purtell <apurt...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d909ec55
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d909ec55
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d909ec55

Branch: refs/heads/master
Commit: d909ec55aa54330e0251593fa0e7c2d2fd61681d
Parents: 2862459
Author: Sean Busbey <bus...@apache.org>
Authored: Wed May 30 22:23:56 2018 -0500
Committer: Sean Busbey <bus...@apache.org>
Committed: Thu May 31 13:29:52 2018 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/util/VersionInfo.java  | 2 +-
 .../java/org/apache/hadoop/hbase/util/TestVersionInfo.java   | 8 ++++++++
 .../main/java/org/apache/hadoop/hbase/util/HBaseFsck.java    | 3 +--
 3 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d909ec55/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
index 0f368f3..b57255a 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
@@ -140,7 +140,7 @@ public class VersionInfo {
    * "4.5.6-UNKNOW" returns ["4", "5", "6", "-4"]
    * @return the components of the version string
    */
-  static String[] getVersionComponents(final String version) {
+  private static String[] getVersionComponents(final String version) {
     assert(version != null);
     String[] strComps = version.split("[\\.-]");
     assert(strComps.length > 0);

http://git-wip-us.apache.org/repos/asf/hbase/blob/d909ec55/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestVersionInfo.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestVersionInfo.java 
b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestVersionInfo.java
index 2e638cf..b8d2f02 100644
--- 
a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestVersionInfo.java
+++ 
b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestVersionInfo.java
@@ -56,5 +56,13 @@ public class TestVersionInfo {
     assertTrue(VersionInfo.compareVersion("3.0.0-alpha-2", "3.0.0-alpha-11") < 
0);
     assertTrue(VersionInfo.compareVersion("3.0.0-beta-2", "3.0.0-beta-11") < 
0);
     assertTrue(VersionInfo.compareVersion("2.0.0-foobar", "2.0.0.1") < 0);
+    assertTrue(VersionInfo.compareVersion("2.any.any", "2.0.0") < 0);
+    assertTrue(VersionInfo.compareVersion("2.0.0", "2.any.any") > 0);
+    assertTrue(VersionInfo.compareVersion("2.any.any", "2.0.0-alpha-1") < 0);
+    assertTrue(VersionInfo.compareVersion("2.0.0-alpha-1", "2.any.any") > 0);
+    assertTrue(VersionInfo.compareVersion("2.any.any", 
"2.0.0-beta-5-SNAPSHOT") < 0);
+    assertTrue(VersionInfo.compareVersion("2.0.0-beta-5-SNAPSHOT", 
"2.any.any") > 0);
+    assertTrue(VersionInfo.compareVersion("2.any.any", "1.4.4") > 0);
+    assertTrue(VersionInfo.compareVersion("1.4.4", "2.any.any") < 0);
   }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d909ec55/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
index 6d9ca9a..035ebd6 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
@@ -5139,8 +5139,7 @@ public class HBaseFsck extends Configured implements 
Closeable {
   private boolean isOptionsSupported(String[] args) {
     boolean result = true;
     String hbaseServerVersion = status.getHBaseVersion();
-    Object[] versionComponents = 
VersionInfo.getVersionComponents(hbaseServerVersion);
-    if (versionComponents[0] instanceof Integer && ((Integer) 
versionComponents[0]) >= 2) {
+    if (VersionInfo.compareVersion("2.any.any", hbaseServerVersion) < 0) {
       // Process command-line args.
       for (String arg : args) {
         if (unsupportedOptionsInV2.contains(arg)) {

Reply via email to