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

Sean Busbey commented on HBASE-18995:
-------------------------------------

Moving stuff into PrivateCellUtil is a bad idea, IMHO. Method level annotations 
work fine. If someone is going to ignore a method being IA.Private, they're 
also going to ignore a class being IA.Private. We already hide them from our 
downstream facing javadocs. If we need more, we can invest the time in making 
an enforcer rule that folks can opt-into.

If we want to make some CellUtil methods "more public" why not just move them 
to be static methods on the Cell interface and mark all of CellUtil as 
deprecated / going IA.Private in HBase 3? (static methods on interfaces is one 
of the benefits of us being on jdk8 now: 
[ref|https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html#static])
 This has the nice side effect of starting to undo all of the FooUtil classes 
that litter our codebase.

> 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