Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
As Sean Busbey commented on HBASE-18792, current logic for comparing version strings in class org.apache.hadoop.hbase.util.VersionInfo is generic and needs to be improved:
if (index < s1.length) { // s1 is longer return 1; }
I think this is wrong? like version "2.0.0" should be after "2.0.0-SNAPSHOT". it's also after "2.0.0-alpha-3" or "2.0.0-beta-1".
Also in other cases 2.0.0 should be before 2.0.0-patch-XXXX and 2.0.0.1. Also 2.0 should be before 2.0.1.
Can we expand the versions checked in TestVersionInfo to include a) some "same major different minor", b) "same minor different maintenance", c) both of the above, but SNAPSHOT, d) "-alpha" / "-beta"?