[ 
https://issues.apache.org/jira/browse/HBASE-18945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-18945:
-------------------------------------------
    Description: 
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. 


  was:
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.



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

Reply via email to