hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Drob <md...@apache.org>
Subject Re: [DISCUSS] Introduce the limited private to filter
Date Wed, 20 Sep 2017 21:26:40 GMT
Could we have a Filter interface that is IA.Public and contains no methods?
Just a marker interface that gives users something they can assign to? Then
FilterBase becomes IA.LimitedPrivate?

This might be awful for current users, I'm trying to explore in a new
direction though.


Mike

On Wed, Sep 20, 2017 at 4:10 PM, Stack <stack@duboce.net> wrote:

> I was looking at the patch on HBASE-18811
> <https://issues.apache.org/jira/browse/HBASE-18811> to implement what has
> since turned into this DISCUSSION.
>
> Get and Scan allow setting Filters.
>
> This means user must create them to pass in.
>
> If filters become LimitedPrivate, I'd imagine this will give users pause;
> they'll ask if they should be using classes w/ this annotation.
>
> In refguide, it says "LimitedPrivate: used for internals we expect to be
> pluggable, such as coprocessors" which does not provide much by way of
> solace.
>
> It is as though Filter instances and their constructors should be public
> but all else about them private. Not sure how we convey that w/ current
> annotation vocabulary.
>
> Thanks,
> M
>
>
>
> On Wed, Sep 20, 2017 at 9:41 AM, Stack <stack@duboce.net> wrote:
>
> > Thanks Dave for chiming in.
> >
> > I like the suggestion Chia-Ping of LimittedPrivate + Stable.
> >
> > St.Ack
> >
> > On Wed, Sep 20, 2017 at 6:51 AM, Dave Latham <latham@davelink.net>
> wrote:
> >
> >> Thanks, Chia-Ping.  I don't want to hold up improvements in HBase
> >> internals
> >> on behalf of Filters.  Changing at major releases sounds reasonable.
> >>
> >> On Wed, Sep 20, 2017 at 12:32 AM, Chia-Ping Tsai <chia7712@apache.org>
> >> wrote:
> >>
> >> > An alternative is that we make Filter IA.LimitedPrivate and
> >> > InterfaceStability.Stable, so we guarantee the FIlter's APIs won't be
> >> > changed in the patch/minor release. It seems to me the changing
> >> Filter's IA
> >> > declaration is necessary. The filter's APIs deeply embedded in our
> read
> >> > path and thus the filter may hinder our improvement in given major
> >> release
> >> > because we have to do the proper deprecation cycle for IA.Public. I
> >> DON'T
> >> > want to change the Filter's APIs at the present time, but we should
> get
> >> > everything ready beforehand.
> >> >
> >> > On 2017-09-19 00:41, Dave Latham <latham@davelink.net> wrote:
> >> > > Speaking on behalf of one HBase deployment, we do rely on custom
> >> filters,
> >> > > though have so far stayed away from more internal customizations
> such
> >> as
> >> > > co-processors.  We've gotten the sense over the years that Filters
> >> were
> >> > > fairly stable and seemed more reliable in that sense.  I'd be sad
> if a
> >> > > change like this meant that more caution will need to be used in
> >> order to
> >> > > rely on Filters.  I understand that some cleanup may need to happen
> >> (e.g.
> >> > > HBASE-13346) but hope that we can still be conservative in breaking
> >> the
> >> > > Filter apis.
> >> > >
> >> > > On Sat, Sep 16, 2017 at 7:27 PM, Chia-Ping Tsai <
> chia7712@apache.org>
> >> > wrote:
> >> > >
> >> > > > hi stack
> >> > > > I have filed https://issues.apache.org/jira/browse/HBASE-18811.
> >> FYI.
> >> > > >
> >> > > > On 2017-09-17 05:31, Stack <stack@duboce.net> wrote:
> >> > > > > It is an oversight that Filters are not annotated as
> >> > (limited)private. We
> >> > > > > are unable to guarantee them what public entails given their
> >> design
> >> > is as
> >> > > > > yet imperfect and that they are interpolated at points subject
> to
> >> > change.
> >> > > > >
> >> > > > > +1 on taking them limited private in 2.0.0.
> >> > > > >
> >> > > > > Thanks for bringing this up Chia-Ping Tsai. Apt.
> >> > > > >
> >> > > > > St.Ack
> >> > > > >
> >> > > > >
> >> > > > > On Sat, Sep 16, 2017 at 4:02 AM, Chia-Ping Tsai <
> >> chia7712@apache.org
> >> > >
> >> > > > wrote:
> >> > > > >
> >> > > > > > Hi, Folks!
> >> > > > > >
> >> > > > > > We have many powerful callback functions to help user
to build
> >> > amazing
> >> > > > > > application/services. The most of functions are declared
as
> >> > > > > > IA.LimitedPrivate excluding the filters. As i see it,
the
> >> > > > IA.LimitedPrivate
> >> > > > > > will make the improvement of filter more flexible.
Also, we
> can
> >> > > > introduce
> >> > > > > > more server-side components to filters.
> >> > > > > >
> >> > > > > > https://issues.apache.org/jira/browse/HBASE-9529 had
already
> >> left
> >> > the
> >> > > > > > TODO "add filter limited private level" on FilterBase.
I feel
> >> it is
> >> > > > time to
> >> > > > > > discuss it again.
> >> > > > > >
> >> > > > > > Thanks,
> >> > > > > > Chia-Ping Tsai
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

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