[ https://issues.apache.org/jira/browse/HBASE-20444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16474224#comment-16474224 ]
maoling commented on HBASE-20444: --------------------------------- 1. {code:java} "0.98.11", "0.99.11", "0.99.14", "1.99.14", "2.0.0-alpha-1", "2.0.0-alpha-3", "2.0.0-beta-3", "2.0.0-SNAPSHOT", "2.0", "2.0.0.1", "2.0.1" {code} "2.0.0-patch-123" isn't taken into consideration in the patch 2.assertTrue(VersionInfo.compareVersion("2.0.0", "2.0.0-SNAPSHOT") < 0) is a wrong UT. > Improve version comparison logic for HBase specific version string and add > unit tests > ------------------------------------------------------------------------------------- > > Key: HBASE-20444 > URL: https://issues.apache.org/jira/browse/HBASE-20444 > Project: HBase > Issue Type: Improvement > Reporter: Umesh Agashe > Assignee: maoling > Priority: Major > Attachments: HBASE-20444.master.001.patch > > > As [~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: > {code:java} > if (index < s1.length) { > // s1 is longer > return 1; > } > {code} > {quote}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". > {quote} > 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. > {quote}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"? > {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)