[ 
https://issues.apache.org/jira/browse/HBASE-20444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Umesh Agashe updated HBASE-20444:
---------------------------------
    Description: 
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}

  was:
As [~busbey] commented on HBASE-18792, current logic for parsing version string 
in class org.apache.hadoop.hbase.util.VersionInfo is generic and needs to be 
improved:
{code}
if (index < s1.length) {
  // s1 is longer
  return 1;
}
{code}

bq. 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.

bq. 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"?



> 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
>            Priority: Major
>
> 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)

Reply via email to