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

Reply via email to