git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jira] [Reopened] (HBASE-20444) Improve version comparison logic for HBase specific version string and add unit tests


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

Sean Busbey reopened HBASE-20444:
---------------------------------

reopening because this change caused an error that findbugs in branch-2 caught:

{quote}

    Reason | Tests

 FindBugs  |  module:hbase-server 

           |  Impossible cast from String to Integer in org.apache.hadoop.hbase.util.HBaseFsck.isOptionsSupported(String[]) At HBaseFsck.java:Integer in org.apache.hadoop.hbase.util.HBaseFsck.isOptionsSupported(String[]) At HBaseFsck.java:[line 5145] 

           |  instanceof will always return false in org.apache.hadoop.hbase.util.HBaseFsck.isOptionsSupported(String[]), since a String can't be a Integer At HBaseFsck.java:in org.apache.hadoop.hbase.util.HBaseFsck.isOptionsSupported(String[]), since a String can't be a Integer At HBaseFsck.java:[line 5145] 



{quote}



> 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
>          Components: util
>            Reporter: Umesh Agashe
>            Assignee: maoling
>            Priority: Major
>             Fix For: 3.0.0, 2.1.0, 1.5.0
>
>         Attachments: HBASE-20444.master.001.patch, HBASE-20444.master.002.patch, HBASE-20444.master.003.patch, HBASE-20444.master.004.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)