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