[
https://issues.apache.org/jira/browse/HBASE-18995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16219215#comment-16219215
]
Anoop Sam John commented on HBASE-18995:
----------------------------------------
Just summarizing the points from RB comments and replies.
1. I was saying abt the need for a non public but LP for CP util class.. I did
not see the new Util already with LP for CP. Then we will need 3 Utils.
CellUtil public, an LP exposed one and a private one. We have many APIs which
not even to be given to CPs.
2. Ya we better make Tag also LP and have the related methods moved to CP
exposed Util class. May be we can even remove those APIs from public CellUtil
with out deprecation cycle? Because no user would have been using it in client
side as we never exposed Tags in client side. Ya CP side would have been using
but any way lots of BC breaks around CP
3. Matching APIs ya lets keep the ones which take Cells as param and Cell and
byte[] as params in LP class. It will be useful for CPs. The ones with
offset, length and all, ya lets keep in private util
4. We have APIs like write parts of cells to OS etc. All these can be in
private CellUtil. Those which work on ByteRange also.
5. Any APIs which were not released in 1.x branches, we can remove from public
CellUtil if needed. No deprecation cycle for them
Any other points. Feel free to split this entire thig as a follow on jira also
as needed. The hard thing would be to get names for diff levels of exposed
classes :-)
> 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.patch, HBASE-18995-branch-2_1.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)