[
https://issues.apache.org/jira/browse/HBASE-19092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16226484#comment-16226484
]
ramkrishna.s.vasudevan commented on HBASE-19092:
------------------------------------------------
I think instead of LPTagUtil we could add all the static methods to Tag
interface itself. Tag will be marked LP for CPs.
As per Stack's suggestion we can add a getCellBuilder in the RegionCPEnv. So
users can pass the type of CellBuilder and that will return an
ExtendedCellBulder and that will be made LP.
The only catch is that people can do setSeqID on that. We should avoid that may
be in beta-1 or later.
But the thing that am concerned is how to add the Util methods to work on Tags
that are in LPCellUtil (as in the 1st patch).
One way is create TagsUtil (notice the 's'). Have an static INSTANCE and
getInstance() in that.
>From the RegionCPEnv have getTagsUtil() API which will return this INSTANCE.
>So CPs can make use of this.
The thing is that any core code that uses Tags will also now go through
TagsUtil.getInstance().XXXX() to work on the tags. This is just to avoid having
another LPCellUtil. But in future if we want some more Cell related util APIs
to be added then we should not name this new Util as TAgsUtil but something
else. Any suggestions? Does this approach seem viable?
> Make Tag IA.LimitedPrivate and expose for CPs
> ---------------------------------------------
>
> Key: HBASE-19092
> URL: https://issues.apache.org/jira/browse/HBASE-19092
> Project: HBase
> Issue Type: Sub-task
> Components: Coprocessors
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Priority: Critical
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-19092-branch-2.patch,
> HBASE-19092_001-branch-2.patch
>
>
> We need to make tags as LimitedPrivate as some use cases are trying to use
> tags like timeline server. The same topic was discussed in dev@ and also in
> HBASE-18995.
> Shall we target this for beta1 - cc [[email protected]].
> So once we do this all related Util methods and APIs should also move to
> LimitedPrivate Util classes.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)