Hi,

I've changed default bucket prop "dvv_enabled" on production system (27
nodes) without any issues (couple of days ago):

NewProps = [case Prop of {dvv_enabled,false} -> {dvv_enabled,true}; Other
-> Other end || Prop <- application:get_env(riak_core,
default_bucket_props)].
riak_core_util:rpc_every_member_ann(application, set_env, [riak_core,
default_bucket_props, NewProps], 5000).

This simple script will do the trick. And also the configuration of riak
has been changed.

Another question is about old siblings workaround. Russell said that I need
to manage it manually. But now I have no idea what can I do in this case. I
mean will siblings be resolved during read repairs, hinted handoffs, etc or
not. Or I do need to resolve them manually?




On Fri, May 26, 2017 at 11:41 PM Vladyslav Zakhozhai <
v.zakhoz...@smartweb.com.ua> wrote:

> Hi Magnus,
>
> Thank you for the tip and clarification. I'll give it a try.
>
> On Thu, May 25, 2017 at 4:24 PM Magnus Kessler <mkess...@basho.com> wrote:
>
>> On 25 May 2017 at 09:39, Vladyslav Zakhozhai <v.zakhoz...@smartweb.com.ua
>> > wrote:
>>
>>> Hi,
>>>
>>> I've been trying to change dvv_enabled for default bucket type. But this
>>> is impossible with riak-admin:
>>>
>>> riak-admin bucket-type update default '{"props":{"dvv_enabled":true}}'
>>> Error updating bucket type default:
>>> no_default_update
>>>
>>> I think that workaround for this is changing default props in riak
>>> config:
>>>
>>> {riak_core, [
>>>
>>>              {default_bucket_props, [
>>>                  {allow_mult, true},
>>>                  {dvv_enabled, true}
>>>              ]},
>>> ...
>>>
>>> (yes, I still use old-style configs)
>>>
>>> And then I need to restart all riak nodes. Here is two questions:
>>> 1. Is this approach correct?
>>> 2. Is it ok to have different default_bucket_props value on different
>>> nodes of the same cluster (in short period of time)?
>>>
>>> I have to restart 27 riak nodes. There is several billions of keys in
>>> riak and each node starts wery slow (20-30-60 min; bitcask backend). So I
>>> can't change default_bucket_props simultaneously in a such way.
>>>
>>> I also can change this parameter in riak console, i.e.
>>>
>>> application:set_env(riak_core, default_bucket_props, [{dvv_enabled,
>>> true}, ......]). But what I need to do for applying this changes?
>>>
>>>
>> Hi Vladyslav,
>>
>> The recommended approach for changing the default bucket type's
>> properties is to change the settings in `riak.conf` or `advanced.config`.
>> However, I just checked that any settings changed through a set_env call
>> also seem to be reflected in the runtime configuration.
>>
>> If you'd like to try this, I recommend making the change on a test
>> cluster first, as I have not verified if this causes issues on a production
>> CS cluster. The set_env call should pass in the complete set of bucket type
>> properties, not just the changes. You can try the following (with default
>> default bucket-type properties):
>>
>> riak_core_util:rpc_every_member_ann(application, set_env, [riak_core,
>> default_bucket_props,
>> [{allow_mult,false},{big_vclock,50},{chash_keyfun,{riak_core_util,chash_std_keyfun}},{dvv_enabled,
>> false},{dw,quorum},{last_write_wins,false},{linkfun,{modfun,riak_kv_wm_link_walker,mapreduce_linkfun}},{n_val,3},{notfound_ok,true},{old_vclock,86400},{postcommit,[]},{pr,0},{precommit,[]},{pw,0},{r,quorum},{repl,true},{rw,quorum},{small_vclock,50},{w,quorum},{write_once,false},{young_vclock,20}]],
>> 5000).
>>
>>
>> If you go down this route, please don't forget to also make changes to
>> the configuration files, in order to these settings to persist across a
>> restart.
>>
>> Kind Regards,
>>
>> Magnus
>>
>> --
>> Magnus Kessler
>> Client Services Engineer
>> Basho Technologies Limited
>>
>> Registered Office - 8 Lincoln’s Inn Fields London WC2A 3BP Reg 07970431
>>
>
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to