[
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)