hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18945) Make a Public interface for CellComparator
Date Wed, 11 Oct 2017 13:20:00 GMT

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

Duo Zhang commented on HBASE-18945:

I think CellComparator as the interface name is better than CoprocessorCellComparator, but
the name of the implementation class is a bit difficult to choose...

Or that it is OK for us to also use the interface in our code other than the implementation
class? I do not think we will provide more methods other than the exposed one in interface?
The static methods could be moved to CellUtil I think. If we can avoid referencing the implementation
class everywhere then I think it is OK to just call it CellComparatorImpl.


> Make a Public interface for CellComparator
> ------------------------------------------
>                 Key: HBASE-18945
>                 URL: https://issues.apache.org/jira/browse/HBASE-18945
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 2.0.0-beta-1
>         Attachments: HBASE-18495.patch, HBASE-18945_2.patch
> Based on discussions over in HBASE-18826 and HBASE-18183 it is better we expose CellComparator
as a public interface so that it could be used in Region/Store interfaces to be exposed to
> Currently the Comparator is exposed in Region, STore and StoreFile. There is another
discussion whether to expose it at all layers or only at Region. However since we are exposing
this to CPs CellComparator being @Private is not the ideal way to do it. We have to change
it to LimitedPrivate. But CellComparator has lot of additional methods which are internal
(like where a Cell is compared with an incoming byte[] used in index comparsions etc).
> One way to expose is that as being done now in HBASE-18826 - by exposing the return type
as Comparator<Cell>. But this is not powerful. It only allows to compare cells. So we
try to expose an IA.LimitedPrivate interface that is more powerful and allows comparing individual
cell components also. 

This message was sent by Atlassian JIRA

View raw message