Hi, So I wanted to play around with creating a custom backend, and using the multi backend, but I am having problems getting anything to work.
Here's what I tried so far in app.config {storage_backend, riak_kv_multi_backend}, {multi_backend_default, bitcask}, {multi_backend, [ {bitcask, riak_kv_bitcask_backend, [{data_root, "/var/lib/riak/bitcask"}]}, {dets, riak_kv_dets_backend, [{riak_kv_dets_backend_root, "/var/lib/riak/dets"}]}, {ets, riak_kv_ets_backend, []}, {fs, riak_kv_fs_backend, [{riak_kv_fs_backend_root, "/var/lib/riak/fs"}]}, {cache, riak_kv_cache_backend, [ {riak_kv_cache_backend_memory, 100}, {riak_kv_cache_backend_ttl, 600}, {riak_kv_cache_backend_max_ttl, 3600} ]}, {my_backend, my_backend, []} ]}, Then I restart, open a shell and do the following 1> {ok, Pid} = riakc_pb_socket:start_link("127.0.0.1", 8087). {ok,<0.68.0>} 2> riakc_pb_socket:set_bucket(Pid, <<"b">>, [{backend, my_backend}]). ok 3> riakc_pb_socket:get_bucket(Pid,<<"b">>). {ok,[{n_val,3},{allow_mult,false}]} So I didn't see my backend there, thus tried the REST API > curl 'http://127.0.0.1:8098/riak/b' ; echo {"props":{"name":"b","n_val":3,"allow_mult":false,"last_write_wins":false,"precommit":[],"postcommit":[],"chash_keyfun":{"mod":"riak_core_util","fun":"chash_std_keyfun"},"linkfun":{"mod":"riak_kv_wm_link_walker","fun":"mapreduce_linkfun"},"old_vclock":86400,"young_vclock":20,"big_vclock":50,"small_vclock":10,"r":"quorum","w":"quorum","dw":"quorum","rw":"quorum"}} It's not there either. So I try to set it with REST > curl -X PUT -H "Content-Type: application/json" -d > '{"props":{"backend":"my_backend"}}' http://127.0.0.1:8098/riak/b Which works, in that now I have > curl 'http://127.0.0.1:8098/riak/b' ; > echo{"props":{"backend":"my_backend","name":"b","n_val":3,"allow_mult":false,"last_write_wins":false,"precommit":[],"postcommit":[],"chash_keyfun":{"mod":"riak_core_util","fun":"chash_std_keyfun"},"linkfun":{"mod":"riak_kv_wm_link_walker","fun":"mapreduce_linkfun"},"old_vclock":86400,"young_vclock":20,"big_vclock":50,"small_vclock":10,"r":"quorum","w":"quorum","dw":"quorum","rw":"quorum"}} However, in the shell I still get 4> riakc_pb_socket:get_bucket(Pid,<<"b">>). {ok,[{n_val,3},{allow_mult,false}]} Also, if I attempt to put something I get 5> riakc_pb_socket:put(Pid, riakc_obj:new (<<"b">>, <<"c">>, <<"d">>)). =ERROR REPORT==== 19-Jan-2011::02:21:04 === ** Generic server <0.68.0> terminating ** Last message in was {req_timeout,#Ref<0.0.0.186>} ** When Server state == {state,"127.0.0.1",8087,false,false,undefined, undefined, {[],[]}, 1,[],infinity,100} ** Reason for termination == ** disconnected ** exception exit: disconnected =CRASH REPORT==== 19-Jan-2011::02:21:04 === crasher: initial call: riakc_pb_socket:init/1 pid: <0.68.0> registered_name: [] exception exit: disconnected in function gen_server:terminate/6 ancestors: [<0.65.0>] messages: [{tcp,#Port<0.816>, [0|<<10,7,116,105,109,101,111,117,116,16,1>>]}] links: [<0.65.0>] dictionary: [] trap_exit: false status: running heap_size: 987 stack_size: 24 reductions: 1541 neighbours: neighbour: [{pid,<0.65.0>}, {registered_name,[]}, {initial_call,{erlang,apply,2}}, {current_function,{gen,do_call,4}}, {ancestors,[]}, {messages,[{#Ref<0.0.0.185>,{error,timeout}}]}, {links,[<0.25.0>,<0.68.0>]}, {dictionary,[]}, {trap_exit,false}, {status,runnable}, {heap_size,1597}, {stack_size,38}, {reductions,17388}] And the attached sasl log which has many errors. So I'm trying to figure out whether the problem is configuration, or a bug or what, and wondering if any one else has gotten a custom backend, or multi backend to work? I'm using 0.14 on Centos 5, using the basho RPM. Thanks, -Anthony -- ------------------------------------------------------------------------ Anthony Molinaro <antho...@alumni.caltech.edu>
=ERROR REPORT==== 19-Jan-2011::02:20:04 === ** State machine <0.232.0> terminating ** Last event in was {riak_vnode_req_v1, 296867520082839655260123481645494988367611297792, {fsm,undefined,<0.6356.0>}, {riak_kv_put_req_v1, {<<"b">>,<<"c">>}, {r_object,<<"b">>,<<"c">>, [{r_content, {dict,2,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[], [[<<"X-Riak-VTag">>,52,116,101,83,99,116,51,84, 86,105,48,76,50,118,49,90,88,86,82,55,53,78]], [],[], [[<<"X-Riak-Last-Modified">>| {1295,432404,650963}]], [],[]}}}, <<"d">>}], [{<<4,137,66,204>>,{1,63462651604}}], {dict,1,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[], [[clean|true]], []}}}, undefined}, 38769885,63462651604,[]}} ** When State == active ** Data == {state,296867520082839655260123481645494988367611297792, riak_kv_vnode, {state,296867520082839655260123481645494988367611297792, riak_kv_multi_backend, {state, [{bitcask,riak_kv_bitcask_backend, {#Ref<0.0.0.700>, "/var/lib/riak/bitcask/296867520082839655260123481645494988367611297792"}}, {dets,riak_kv_dets_backend, {state, '296867520082839655260123481645494988367611297792', "/var/lib/riak/dets/296867520082839655260123481645494988367611297792"}}, {ets,riak_kv_ets_backend,<0.235.0>}, {fs,riak_kv_fs_backend, {state, "/var/lib/riak/fs/296867520082839655260123481645494988367611297792"}}, {cache,riak_kv_cache_backend,<0.236.0>}, {my_backend,my_backend,{}}], bitcask}, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, false}, undefined,none,60000} ** Reason for termination = ** {bad_return_value, {riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} =CRASH REPORT==== 19-Jan-2011::02:20:04 === crasher: initial call: riak_core_vnode:init/1 pid: <0.232.0> registered_name: [] exception exit: {bad_return_value,{riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} in function gen_fsm:terminate/7 in call from proc_lib:init_p_do_apply/3 ancestors: [riak_core_vnode_sup,riak_core_sup,<0.101.0>] messages: [] links: [<0.235.0>,<0.236.0>,<0.103.0>] dictionary: [] trap_exit: true status: running heap_size: 233 stack_size: 24 reductions: 29591 neighbours: neighbour: [{pid,<0.236.0>},{registered_name,[]},{initial_call,{riak_kv_cache_backend,init,[Argument__1]}},{current_function,{gen_server,loop,6}},{ancestors,[<0.232.0>,riak_core_vnode_sup,riak_core_sup,<0.101.0>]},{messages,[]},{links,[<0.232.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,233},{stack_size,9},{reductions,40}] neighbour: [{pid,<0.235.0>},{registered_name,[]},{initial_call,{riak_kv_ets_backend,init,[Argument__1]}},{current_function,{gen_server,loop,6}},{ancestors,[<0.232.0>,riak_core_vnode_sup,riak_core_sup,<0.101.0>]},{messages,[]},{links,[<0.232.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,233},{stack_size,9},{reductions,135}] =SUPERVISOR REPORT==== 19-Jan-2011::02:20:04 === Supervisor: {local,riak_core_vnode_sup} Context: child_terminated Reason: {bad_return_value,{riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} Offender: [{pid,<0.232.0>},{name,undefined},{mfa,{riak_core_vnode,start_link,[riak_kv_vnode,296867520082839655260123481645494988367611297792]}},{restart_type,temporary},{shutdown,brutal_kill},{child_type,worker}] =ERROR REPORT==== 19-Jan-2011::02:20:04 === ** State machine <0.242.0> terminating ** Last event in was {riak_vnode_req_v1, 342539446249430371453988632667878832731859189760, {fsm,undefined,<0.6356.0>}, {riak_kv_put_req_v1, {<<"b">>,<<"c">>}, {r_object,<<"b">>,<<"c">>, [{r_content, {dict,2,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[], [[<<"X-Riak-VTag">>,52,116,101,83,99,116,51,84, 86,105,48,76,50,118,49,90,88,86,82,55,53,78]], [],[], [[<<"X-Riak-Last-Modified">>| {1295,432404,650963}]], [],[]}}}, <<"d">>}], [{<<4,137,66,204>>,{1,63462651604}}], {dict,1,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[], [[clean|true]], []}}}, undefined}, 38769885,63462651604,[]}} ** When State == active ** Data == {state,342539446249430371453988632667878832731859189760, riak_kv_vnode, {state,342539446249430371453988632667878832731859189760, riak_kv_multi_backend, {state, [{bitcask,riak_kv_bitcask_backend, {#Ref<0.0.0.750>, "/var/lib/riak/bitcask/342539446249430371453988632667878832731859189760"}}, {dets,riak_kv_dets_backend, {state, '342539446249430371453988632667878832731859189760', "/var/lib/riak/dets/342539446249430371453988632667878832731859189760"}}, {ets,riak_kv_ets_backend,<0.245.0>}, {fs,riak_kv_fs_backend, {state, "/var/lib/riak/fs/342539446249430371453988632667878832731859189760"}}, {cache,riak_kv_cache_backend,<0.246.0>}, {my_backend,my_backend,{}}], bitcask}, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, false}, undefined,none,60000} ** Reason for termination = ** {bad_return_value, {riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} =CRASH REPORT==== 19-Jan-2011::02:20:04 === crasher: initial call: riak_core_vnode:init/1 pid: <0.242.0> registered_name: [] exception exit: {bad_return_value,{riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} in function gen_fsm:terminate/7 in call from proc_lib:init_p_do_apply/3 ancestors: [riak_core_vnode_sup,riak_core_sup,<0.101.0>] messages: [] links: [<0.245.0>,<0.246.0>,<0.103.0>] dictionary: [] trap_exit: true status: running heap_size: 233 stack_size: 24 reductions: 29365 neighbours: neighbour: [{pid,<0.246.0>},{registered_name,[]},{initial_call,{riak_kv_cache_backend,init,[Argument__1]}},{current_function,{gen_server,loop,6}},{ancestors,[<0.242.0>,riak_core_vnode_sup,riak_core_sup,<0.101.0>]},{messages,[]},{links,[<0.242.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,233},{stack_size,9},{reductions,40}] neighbour: [{pid,<0.245.0>},{registered_name,[]},{initial_call,{riak_kv_ets_backend,init,[Argument__1]}},{current_function,{gen_server,loop,6}},{ancestors,[<0.242.0>,riak_core_vnode_sup,riak_core_sup,<0.101.0>]},{messages,[]},{links,[<0.242.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,233},{stack_size,9},{reductions,135}] =SUPERVISOR REPORT==== 19-Jan-2011::02:20:04 === Supervisor: {local,riak_core_vnode_sup} Context: child_terminated Reason: {bad_return_value,{riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} Offender: [{pid,<0.242.0>},{name,undefined},{mfa,{riak_core_vnode,start_link,[riak_kv_vnode,342539446249430371453988632667878832731859189760]}},{restart_type,temporary},{shutdown,brutal_kill},{child_type,worker}] =ERROR REPORT==== 19-Jan-2011::02:20:04 === ** State machine <0.237.0> terminating ** Last event in was {riak_vnode_req_v1, 319703483166135013357056057156686910549735243776, {fsm,undefined,<0.6356.0>}, {riak_kv_put_req_v1, {<<"b">>,<<"c">>}, {r_object,<<"b">>,<<"c">>, [{r_content, {dict,2,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[], [[<<"X-Riak-VTag">>,52,116,101,83,99,116,51,84, 86,105,48,76,50,118,49,90,88,86,82,55,53,78]], [],[], [[<<"X-Riak-Last-Modified">>| {1295,432404,650963}]], [],[]}}}, <<"d">>}], [{<<4,137,66,204>>,{1,63462651604}}], {dict,1,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[], [[clean|true]], []}}}, undefined}, 38769885,63462651604,[]}} ** When State == active ** Data == {state,319703483166135013357056057156686910549735243776, riak_kv_vnode, {state,319703483166135013357056057156686910549735243776, riak_kv_multi_backend, {state, [{bitcask,riak_kv_bitcask_backend, {#Ref<0.0.0.725>, "/var/lib/riak/bitcask/319703483166135013357056057156686910549735243776"}}, {dets,riak_kv_dets_backend, {state, '319703483166135013357056057156686910549735243776', "/var/lib/riak/dets/319703483166135013357056057156686910549735243776"}}, {ets,riak_kv_ets_backend,<0.240.0>}, {fs,riak_kv_fs_backend, {state, "/var/lib/riak/fs/319703483166135013357056057156686910549735243776"}}, {cache,riak_kv_cache_backend,<0.241.0>}, {my_backend,my_backend,{}}], bitcask}, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, false}, undefined,none,60000} ** Reason for termination = ** {bad_return_value, {riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} =CRASH REPORT==== 19-Jan-2011::02:20:04 === crasher: initial call: riak_core_vnode:init/1 pid: <0.237.0> registered_name: [] exception exit: {bad_return_value,{riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} in function gen_fsm:terminate/7 in call from proc_lib:init_p_do_apply/3 ancestors: [riak_core_vnode_sup,riak_core_sup,<0.101.0>] messages: [] links: [<0.240.0>,<0.241.0>,<0.103.0>] dictionary: [] trap_exit: true status: running heap_size: 233 stack_size: 24 reductions: 29611 neighbours: neighbour: [{pid,<0.241.0>},{registered_name,[]},{initial_call,{riak_kv_cache_backend,init,[Argument__1]}},{current_function,{gen_server,loop,6}},{ancestors,[<0.237.0>,riak_core_vnode_sup,riak_core_sup,<0.101.0>]},{messages,[]},{links,[<0.237.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,233},{stack_size,9},{reductions,40}] neighbour: [{pid,<0.240.0>},{registered_name,[]},{initial_call,{riak_kv_ets_backend,init,[Argument__1]}},{current_function,{gen_server,loop,6}},{ancestors,[<0.237.0>,riak_core_vnode_sup,riak_core_sup,<0.101.0>]},{messages,[]},{links,[<0.237.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,233},{stack_size,9},{reductions,135}] =SUPERVISOR REPORT==== 19-Jan-2011::02:20:04 === Supervisor: {local,riak_core_vnode_sup} Context: child_terminated Reason: {bad_return_value,{riak_kv_multi_backend,undefined_backend,<<"my_backend">>}} Offender: [{pid,<0.237.0>},{name,undefined},{mfa,{riak_core_vnode,start_link,[riak_kv_vnode,319703483166135013357056057156686910549735243776]}},{restart_type,temporary},{shutdown,brutal_kill},{child_type,worker}]
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com