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

ramkrishna.s.vasudevan commented on HBASE-18995:
------------------------------------------------

bq. I see three methods in CellUtil with Private annotation. Any reason they 
were not moved? I see they are @Deprecated. Is that because they have been 
moved already?
I left it because they are still exposed in 2.0.  You  mean they are left over 
in 3.0 also? If so it is my mistake. I have to remove them.
bq.Are there methods from PrivateCellUtil you want to expose to Coprocessors?
As said in the other JIRA. We need to know what others can we expose. We can 
definitely move some more to the LPCellUtil which needs to be exposed but for 
now I can see Tag related APIs. 
But coming to createfirstOnRow(), createLastOnRow() - that is something 
internal. Why should that  be in CellUtil? In one of the review comments it was 
discussed we need not expose them. I am fine if there is an usage but again 
there are lot of variants which are not worth exposing we need to see which are 
really useful and which are internally used. In the list of APIs used  by 
Crunch I think createFirstOnRow is the only one that is missed? All other APIs 
are still available in Public CellUtil.
So this project Crunch is it a CP based project or is it a client side code?
bq.(static methods on interfaces is one of the benefits of us being on jdk8 
now: ref) 
I like this idea. How ever I think what needs to go as static methods in Cell 
interface is still questionable because there are cases like this 
createFirstOnRow() which goes to IA.Private but Cell does not have it and still 
it is not helping them.

> Move methods that are for internal usage from CellUtil to Private util class
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-18995
>                 URL: https://issues.apache.org/jira/browse/HBASE-18995
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 2.0.0-alpha-3
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Critical
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-18995-branch-2.002.patch, 
> HBASE-18995-branch-2.patch, HBASE-18995-branch-2_1.patch, 
> HBASE-18995-branch-2_1.patch, HBASE-18995-branch-2_1.patch, 
> HBASE-18995-branch-2_1.patch, HBASE-18995-branch-2_2.patch, 
> HBASE-18995_002-branch-2.patch, HBASE-18995_002-branch-2.patch, 
> HBASE-18995_003-branch-2.patch, HBASE-18995_1.patch, HBASE-18995_2.patch, 
> HBASE-18995_2.patch
>
>
> This was brought up long time back. We need to move some of the public APIs 
> from CellUtil to internal private Util class because they are used in some 
> internal flow and does not make sense to have it in a @public exposed Util 
> class. 
> The topic again came in HBASE-18945 RB comments also.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to