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