You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Jean-Daniel Cryans <jd...@apache.org> on 2013/07/01 22:55:31 UTC

Identifying which configurations are experimental

Hey devs,

I'd like to engage the community in a discussion about how we can
better identify configurations that are considered experimental.

The current situation is that we usually don't talk about them too
much and users will find them while googling, reading the code or
hbase-defaults.xml. In the latter, we have configs that are marked as
experimental in their description. For example in 0.94 we have:

     <name>hbase.offheapcache.percentage</name>
     <value>0</value>
     <description>
     The amount of off heap space to be allocated towards the experimental
     off heap cache. If you desire the cache to be disabled, simply set this
     value to 0.
     </description>

Discussing with the other devs here, we thought we could use a simple
prefix to identify those configs so that it's really obvious that you
may be getting into unknown territory. For example:

hbase.offheapcache.percentage => experimental.hbase.offheapcache.percentage

A bunch of configs will have to be renamed like that, and for backward
compatibility we'll still have to accept both versions until they
graduate from being experimental but only document the one with the
prefix in hbase-defaults and the reference manual.

For the new experimental configurations, we should just have the
version with the "experimental." prefix until it becomes
production-ready.

Does that sound like a plan? I'm open to suggestions.

Cheers,

J-D

Re: Identifying which configurations are experimental

Posted by Enis Söztutar <en...@gmail.com>.
With these settings, I think the plan is to get the patches in, mark them
experimental for some time, and once they are baked remove the experimental
label. Given that development model, it will be not intuitive to have
settings prefixed. If any user was using them in their POC, then they have
to be aware of that the setting changed once we declare that it is good to
go, etc.

Ideally, we should either (1) remove the feature from the code base because
it is not getting any attention, and nobody is using it (offheap cache I am
looking at you), or (2) fix them to make it more stable. Given that we are
not living in the ideal world, I would still suggest that on a
feature-by-feature basis, we should decide 1 or 2, and if there is some
interest in working on the patch, document that feature is experimental in
book + hbase-default.xml, code etc and keep the code. Otherwise nuke them.

Just my 2 cents.
Enis


On Mon, Jul 1, 2013 at 2:29 PM, Andrew Purtell <ap...@apache.org> wrote:

> On Mon, Jul 1, 2013 at 2:18 PM, Jean-Daniel Cryans <jdcryans@apache.org
> >wrote:
>
> > Yeah, but there's a distinction between hbase.regionserver.maxlogs
> > which is only in the code and not experimental at all VS
> > hbase.offheapcache.percentage which enables something that we decided
> > was experimental.
> >
> > My motivation for this discussion is about the latter
> >
>
> Remove them from hbase-defaults?
>
> But either that or an 'experimental.' (or whatever) prefix is fine with me.
> Just seems like the latter is more hair to trim back later.
>
> --
> Best regards,
>
>    - Andy
>
> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> (via Tom White)
>

Re: Identifying which configurations are experimental

Posted by Andrew Purtell <ap...@apache.org>.
On Mon, Jul 1, 2013 at 2:18 PM, Jean-Daniel Cryans <jd...@apache.org>wrote:

> Yeah, but there's a distinction between hbase.regionserver.maxlogs
> which is only in the code and not experimental at all VS
> hbase.offheapcache.percentage which enables something that we decided
> was experimental.
>
> My motivation for this discussion is about the latter
>

Remove them from hbase-defaults?

But either that or an 'experimental.' (or whatever) prefix is fine with me.
Just seems like the latter is more hair to trim back later.

-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

Re: Identifying which configurations are experimental

Posted by Jean-Daniel Cryans <jd...@apache.org>.
Yeah, but there's a distinction between hbase.regionserver.maxlogs
which is only in the code and not experimental at all VS
hbase.offheapcache.percentage which enables something that we decided
was experimental.

My motivation for this discussion is about the latter, and the concern
is how to make it really obvious that you may get yourself in trouble
(sorry if that wasn't clear). $random_newb wouldn't know to look for a
list of experimental configurations in the manual IMO.

Do you agree? Or do you feel that there's no need for making things
more obvious?

J-D

On Mon, Jul 1, 2013 at 2:07 PM, Andrew Purtell <ap...@apache.org> wrote:
> Another option is to remove experimental configurations from
> hbase-default.xml and maybe add a section to the manual that lists them or
> at least mentions that configurations found in code but not in
> hbase-default means 'no user serviceable parts inside', YMMV?
>
>
> On Mon, Jul 1, 2013 at 1:55 PM, Jean-Daniel Cryans <jd...@apache.org>wrote:
>
>> Hey devs,
>>
>> I'd like to engage the community in a discussion about how we can
>> better identify configurations that are considered experimental.
>>
>> The current situation is that we usually don't talk about them too
>> much and users will find them while googling, reading the code or
>> hbase-defaults.xml. In the latter, we have configs that are marked as
>> experimental in their description. For example in 0.94 we have:
>>
>>      <name>hbase.offheapcache.percentage</name>
>>      <value>0</value>
>>      <description>
>>      The amount of off heap space to be allocated towards the experimental
>>      off heap cache. If you desire the cache to be disabled, simply set
>> this
>>      value to 0.
>>      </description>
>>
>> Discussing with the other devs here, we thought we could use a simple
>> prefix to identify those configs so that it's really obvious that you
>> may be getting into unknown territory. For example:
>>
>> hbase.offheapcache.percentage => experimental.hbase.offheapcache.percentage
>>
>> A bunch of configs will have to be renamed like that, and for backward
>> compatibility we'll still have to accept both versions until they
>> graduate from being experimental but only document the one with the
>> prefix in hbase-defaults and the reference manual.
>>
>> For the new experimental configurations, we should just have the
>> version with the "experimental." prefix until it becomes
>> production-ready.
>>
>> Does that sound like a plan? I'm open to suggestions.
>>
>> Cheers,
>>
>> J-D
>>
>
>
>
> --
> Best regards,
>
>    - Andy
>
> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> (via Tom White)

Re: Identifying which configurations are experimental

Posted by Andrew Purtell <ap...@apache.org>.
Another option is to remove experimental configurations from
hbase-default.xml and maybe add a section to the manual that lists them or
at least mentions that configurations found in code but not in
hbase-default means 'no user serviceable parts inside', YMMV?


On Mon, Jul 1, 2013 at 1:55 PM, Jean-Daniel Cryans <jd...@apache.org>wrote:

> Hey devs,
>
> I'd like to engage the community in a discussion about how we can
> better identify configurations that are considered experimental.
>
> The current situation is that we usually don't talk about them too
> much and users will find them while googling, reading the code or
> hbase-defaults.xml. In the latter, we have configs that are marked as
> experimental in their description. For example in 0.94 we have:
>
>      <name>hbase.offheapcache.percentage</name>
>      <value>0</value>
>      <description>
>      The amount of off heap space to be allocated towards the experimental
>      off heap cache. If you desire the cache to be disabled, simply set
> this
>      value to 0.
>      </description>
>
> Discussing with the other devs here, we thought we could use a simple
> prefix to identify those configs so that it's really obvious that you
> may be getting into unknown territory. For example:
>
> hbase.offheapcache.percentage => experimental.hbase.offheapcache.percentage
>
> A bunch of configs will have to be renamed like that, and for backward
> compatibility we'll still have to accept both versions until they
> graduate from being experimental but only document the one with the
> prefix in hbase-defaults and the reference manual.
>
> For the new experimental configurations, we should just have the
> version with the "experimental." prefix until it becomes
> production-ready.
>
> Does that sound like a plan? I'm open to suggestions.
>
> Cheers,
>
> J-D
>



-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)