hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vrushali C <vrushalic2...@gmail.com>
Subject Re: [DISCUSS] Increase stability on o.a.h.h.Tag?
Date Fri, 22 Sep 2017 16:54:56 GMT
For what it's worth, Yarn Timeline Service v2 makes use of Tags only in the
coprocessor code in the custom Scanner that is invoked during
get/scan/compact and at the PrePut step.

thanks
Vrushali


On Fri, Sep 22, 2017 at 9:20 AM, Andrew Purtell <andrew.purtell@gmail.com>
wrote:

> I think not making the relevant APIs LP(Coprocessor) was an oversight. In
> my opinion we should do that. I'm not sure about Public. We could do that
> too but somewhere we need to call out that coprocessors have access to
> tags, but not clients. (Tags are removed at RPC except for replication.) LP
> doesn't imply what Public might.
>
> > On Sep 22, 2017, at 9:11 AM, Andrew Purtell <andrew.purtell@gmail.com>
> wrote:
> >
> > Tags are server side internal metadata. Some carry sensitive information
> like labels. I guess this could appear odd if not around for discussion
> when they were introduced. So what documentation can be improved to lessen
> the surprise? Javadoc? Online book? A JIRA with suggestions welcome.
> >
> >
> >> On Sep 22, 2017, at 9:07 AM, Josh Elser <elserj@apache.org> wrote:
> >>
> >> I can appreciate how we've gotten to this point, it just struck me
> extremely odd that the contents of a Tag weren't expected to be accessed by
> users. "Arbitrary metadata that rides along with a cell, you just can't see
> that metadata" ;)
> >>
> >> I totally understand not wanting to let another thing come into 2.0.
> Like MikeD said, let's hope for a faster 3.0 and we can slate this for that
> time.
> >>
> >> Thanks for entertaining the discussion. We'll just deal with the
> "downstream pain" for 2.0.
> >>
> >>> On 9/22/17 1:32 AM, ramkrishna vasudevan wrote:
> >>> CellUtil  similar type of methods. Coming to Tags yes there are not
> much
> >>> cases where clients can directly set Tags. And I think we don't expose
> any
> >>> APIs which allow you to use mutations with Tags. So probably moving to
> >>> LimitedPrivate is better and mark with Evolving if there are some users
> >>> depending on the internals of Tags and its impl. But this will be a
> One of
> >>> case.
> >>> And also since Tags are internal ideally the CellUtil#getTAgs() should
> have
> >>> been in another Util method that is exposed with LimitedPrivate and
> also
> >>> Tags if tags should be made LimitedPRivate. So this may help in not
> having
> >>> a PRivate interface like Tag in a public CellUtil class.
> >>> 3.0 is fine but need some clean up in 2.0? Indicating what could happen
> >>> going forward from 2.0?
> >>> Regards
> >>> Ram
> >>>> On Fri, Sep 22, 2017 at 2:59 AM, Sean Busbey <busbey@apache.org>
> wrote:
> >>>> Yeah. I mean, I think we should improve  the situation. Just think
> >>>> it's too much to bite off at this stage of 2.0, we can aim for 3.0 and
> >>>> start working in some tooling to help us.
> >>>>
> >>>>> On Thu, Sep 21, 2017 at 3:35 PM, Josh Elser <elserj@apache.org>
> wrote:
> >>>>> That really makes me groan (we have downstream users depending on
> code
> >>>> we've
> >>>>> explicitly said "don't use"), but if that's what it is given the
> current
> >>>>> state, so be it. My complaining won't fix it.
> >>>>>
> >>>>> Thanks.
> >>>>>
> >>>>>
> >>>>>> On 9/21/17 4:25 PM, Sean Busbey wrote:
> >>>>>>
> >>>>>> We have lots of examples of including non-Public stuff in Public
> APIs.
> >>>>>> we have docs that advise folks to be wary on relying on them
beyond
> >>>>>> opaque symbols.
> >>>>>>
> >>>>>> ref: http://hbase.apache.org/book.html#hbase.client.api.surface
> >>>>>>
> >>>>>>> On Thu, Sep 21, 2017 at 3:21 PM, Josh Elser <elserj@apache.org>
> wrote:
> >>>>>>>
> >>>>>>> I was going to suggest LimitedPrivate in my original, but
this
> doesn't
> >>>>>>> make
> >>>>>>> sense as we're exposing Public API via CellUtil.
> >>>>>>>
> >>>>>>> It seems odd to me that we wouldn't treat the cell tags
as a
> supported
> >>>>>>> API
> >>>>>>> call. However, I'm happy to remain "confused" if the rest
of folks
> >>>> don't
> >>>>>>> consider tags to be intended for users :)
> >>>>>>>
> >>>>>>>
> >>>>>>>> On 9/21/17 3:15 PM, Ted Yu wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Can we mark Tag LimitedPrivate ?
> >>>>>>>>
> >>>>>>>> We know how ATS uses Tags so it should be straight forward
to keep
> >>>> their
> >>>>>>>> usage intact.
> >>>>>>>>
> >>>>>>>> On Thu, Sep 21, 2017 at 12:03 PM, Josh Elser <elserj@apache.org>
> >>>> wrote:
> >>>>>>>>
> >>>>>>>>> Hiya,
> >>>>>>>>>
> >>>>>>>>> (Background, I'm starting what is likely to be an
onerous task of
> >>>>>>>>> looking
> >>>>>>>>> through downstream components and seeing what is
broken with the
> >>>> latest
> >>>>>>>>> hbase-2.0.0*)
> >>>>>>>>>
> >>>>>>>>> Looking at YARN's use of HBase for the Application
> TimelineServer, I
> >>>>>>>>> see
> >>>>>>>>> that they're relying on the Tag interface.
> >>>>>>>>>
> >>>>>>>>> Presently, Tag is marked as Private, yet we expose
it via the
> Public
> >>>>>>>>> CellUtil.
> >>>>>>>>>
> >>>>>>>>> My gut reaction is that we should bump Tag up Public
since the
> intent
> >>>>>>>>> is
> >>>>>>>>> for downstream users to, ya know, use those Tags.
Any objections?
> >>>>>>>>>
> >>>>>>>>> If we don't want to expose Tag, we should make a
pass over the
> Public
> >>>>>>>>> methods and mark them as Private (so not as to provide
a Public
> >>>> method
> >>>>>>>>> with
> >>>>>>>>> Private objects). CellUtil#getTag(Cell, byte) would
be one such
> >>>>>>>>> example.
> >>>>>>>>>
> >>>>>>>>> - Josh
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>
> >>>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message