[
https://issues.apache.org/jira/browse/HBASE-18792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16437289#comment-16437289
]
Sean Busbey commented on HBASE-18792:
-------------------------------------
{code}
+ while (index < v1Comps.length && index < v2Comps.length) {
+ int va = v1Comps[index] instanceof Integer ? (Integer)v1Comps[index] :
VERY_LARGE_NUMBER;
+ int vb = v2Comps[index] instanceof Integer ? (Integer)v2Comps[index] :
VERY_LARGE_NUMBER;
+
if (va != vb) {
return va - vb;
}
if (va == VERY_LARGE_NUMBER) {
// compare as String
- int c = s1[index].compareTo(s2[index]);
+ int c = ((String)v1Comps[index]).compareTo((String)v2Comps[index]);
if (c != 0) {
return c;
}
}
index++;
}
{code}
ooof. man that's rough. How about a comment before the {{if(va ==
VERY_LARGE_NUMBER)}} that says something like "va and vb must both be the same
and indicate that the version part is a String"?
Also make {{va}}, {{vb}}, and {{VERY_LARGE_NUMBER}} all type {{Integer}}
instead of int and use {{Integer#compareTo(Integer)}} so that we're not going
through a bunch of autoboxing.
> hbase-2 needs to defend against hbck operations
> -----------------------------------------------
>
> Key: HBASE-18792
> URL: https://issues.apache.org/jira/browse/HBASE-18792
> Project: HBase
> Issue Type: Task
> Components: hbck
> Reporter: stack
> Assignee: Umesh Agashe
> Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: hbase-18792.master.001.patch
>
>
> hbck needs updating to run against hbase2. Meantime, if an hbck from hbase1
> is run against hbck2, it may do damage. hbase2 should defend itself against
> hbck1 ops.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)