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

Anoop Sam John commented on HBASE-13998:
----------------------------------------

We are trying to find a table region corresponding to give row.  The region's 
end key is compared against the given key. (to make sure this region is 
suitable for the row not the next region).  These will be normal table regions 
and so no issue in directly doing Bytes.compare() call.
{code}
byte[] endKey = possibleRegion.getRegionLocation().getRegionInfo().getEndKey();
if (Bytes.equals(endKey, HConstants.EMPTY_END_ROW) ||
        getRowComparator(tableName).compareRows(
                      endKey, 0, endKey.length, row, 0, row.length) > 0) {
{code}
Even if the region is META table region,  the 1st condition itself will be 
true..  It is single region table and so the end key will be empty byte[ ].
Am I explaining it clear?


> Remove CellComparator#compareRows(byte[] left, int loffset, int llength, 
> byte[] right, int roffset, int rlength)
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-13998
>                 URL: https://issues.apache.org/jira/browse/HBASE-13998
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0
>
>         Attachments: HBASE-13998.patch
>
>
> A public API in CellComparator which takes old style byte[], offset, length 
> alone is not correct.  CellComparator supposed to compare cell(s).  At least 
> one side param has to be a cell.. This is the agreement we discussed in 
> HBASE-10800.  Still we could not remove the above one method because it was 
> getting used from multiple places.  Now most of the usage is removed.  This 
> jira aims at removing it fully and replace the usage with other APIs.
> Note: The CellComparator is added in 2.0 only so removing the public API is 
> not creating any BC issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to