hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13998) Remove CellComparator#compareRows(byte[] left, int loffset, int llength, byte[] right, int roffset, int rlength)
Date Wed, 01 Jul 2015 18:26:05 GMT

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

Mime
View raw message