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 <[email protected]>
=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
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com