[
https://issues.apache.org/jira/browse/HBASE-18945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16197341#comment-16197341
]
ramkrishna.s.vasudevan commented on HBASE-18945:
------------------------------------------------
I finally thought let the existing CellComparator remain and will introduce
HCellComparator as the interface? But this is orthogonal to Store/HStore where
Store is exposed to CP and HStore is internal. Here it is the other way round.
> 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
>
>
> 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 CPs.
> 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
(v6.4.14#64029)