hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stack <st...@duboce.net>
Subject Re: [DISCUSS] Introduce the limited private to filter
Date Wed, 20 Sep 2017 21:10:14 GMT
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