[ 
https://issues.apache.org/jira/browse/HBASE-20444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16475793#comment-16475793
 ] 

Sean Busbey commented on HBASE-20444:
-------------------------------------

{quote}
{code}
42          assertTrue(VersionInfo.compareVersion("2.0.0", "2.0.0.0") == 0);
{code}
I don't think this is correct. "critical patch 0" should be after the main 
release. I'm not sure we've ever done a critical patch release, but still.
{quote}

Can confirm we've done 8:

* 0.94.6.1
* 0.96.1.1
* 0.98.6.1
* 0.98.10.1
* 0.98.12.1
* 0.98.16.1
* 1.0.1.1
* 1.1.0.1

They've all been 1 based, so I think they'd sort correctly? We should add a 
test case that includes "critical patch release sorts after main release 
number". the closest I see right now compares "2.0.0.1" and "2.0", and the 
latter isn't a correct version number.

> 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, 
> HBASE-20444.master.002.patch, HBASE-20444.master.003.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)

Reply via email to