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