how to run riak_core (and consequently riak pg)

Christopher Meiklejohn cmeiklejohn at basho.com
Fri Oct 31 18:48:14 EDT 2014


On Oct 29, 2014, at 10:28 AM, Hristo Asenov <hristo.s.asenov at gmail.com> wrote:
> 
> Hi everyone,
> 
> I stumbled upon an application, Riak PG (https://github.com/basho/webmachine.git), that I want to run on my boxes. It's main dependancy is riak_core, which needs to be started before riak_pg runs. When I make a release with "./rebar generate" and then try to run ",/riak_pg console" in the rel folder, I get the following error output when I try to create a new group: 
> 
> riak_pg hctrl-hsa01% rel/riak_pg/bin/riak_pg console -smp enable
> Exec: /home/hasenov/riak_pg/rel/riak_pg/erts-5.10.4/bin/erlexec -boot /home/hasenov/riak_pg/rel/riak_pg/releases/1/riak_pg -embedded -config /home/hasenov/riak_pg/rel/riak_pg/etc/app.config -args_file /home/hasenov/riak_pg/rel/riak_pg/etc/vm.args -- console -smp enable
> Root: /home/hasenov/riak_pg/rel/riak_pg
> Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:1:1] [async-threads:5] [kernel-poll:true]
> 
> 13:15:11.333 [info] Application lager started on node 'riak_pg at 127.0.0.1'
> 13:15:11.334 [info] Application crypto started on node 'riak_pg at 127.0.0.1'
> 13:15:11.339 [info] Application riak_sysmon started on node 'riak_pg at 127.0.0.1'
> 13:15:11.348 [info] Application os_mon started on node 'riak_pg at 127.0.0.1'
> 13:15:11.350 [info] Application basho_stats started on node 'riak_pg at 127.0.0.1'
> 13:15:11.350 [info] Application eleveldb started on node 'riak_pg at 127.0.0.1'
> 13:15:11.351 [info] alarm_handler: {set,{system_memory_high_watermark,[]}}
> 13:15:11.351 [info] Application pbkdf2 started on node 'riak_pg at 127.0.0.1'
> 13:15:11.351 [info] Application poolboy started on node 'riak_pg at 127.0.0.1'
> 13:15:11.581 [info] New capability: {riak_core,vnode_routing} = proxy
> 13:15:11.584 [info] New capability: {riak_core,staged_joins} = true
> 13:15:11.589 [info] New capability: {riak_core,resizable_ring} = true
> 13:15:11.591 [info] New capability: {riak_core,fold_req_version} = v2
> 13:15:11.593 [info] New capability: {riak_core,security} = true
> 13:15:11.595 [info] New capability: {riak_core,bucket_types} = true
> 13:15:11.597 [info] New capability: {riak_core,net_ticktime} = true
> Eshell V5.10.4  (abort with ^G)
> (riak_pg at 127.0.0.1)1> 13:15:21.525 [info] Waiting for application riak_pg_memberships to start (0 seconds).
> 
> (riak_pg at 127.0.0.1)1> riak_pg:create(newpg).
> 13:16:15.299 [error] riak_pg_memberships_vnode command failed {undef,[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{file,"src/riak_pg_memberships_vnode.erl"},{line,143}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]},{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
> 13:16:15.299 [error] riak_pg_memberships_vnode command failed {undef,[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{file,"src/riak_pg_memberships_vnode.erl"},{line,143}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]},{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
> 13:16:15.299 [error] riak_pg_memberships_vnode command failed {undef,[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{file,"src/riak_pg_memberships_vnode.erl"},{line,143}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]},{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
> 13:16:15.299 [error] gen_fsm <0.637.0> in state waiting terminated with reason: no function clause matching riak_pg_create_fsm:waiting({vnode_error,{undef,[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{...},...]},...]}}, {state,[{388211372416021087647853783690262677096107081728,'riak_pg at 127.0.0.1'},{411047335499316445744786359201454599278231027712,...},...],...}) line 119
> 13:16:15.300 [error] CRASH REPORT Process <0.637.0> with 0 neighbours exited with reason: no function clause matching riak_pg_create_fsm:waiting({vnode_error,{undef,[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{...},...]},...]}}, {state,[{388211372416021087647853783690262677096107081728,'riak_pg at 127.0.0.1'},{411047335499316445744786359201454599278231027712,...},...],...}) line 119 in gen_fsm:terminate/7 line 622
> 13:16:15.300 [error] Supervisor riak_pg_create_fsm_sup had child riak_pg_create_fsm started with {riak_pg_create_fsm,start_link,undefined} at <0.637.0> exit with reason no function clause matching riak_pg_create_fsm:waiting({vnode_error,{undef,[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{...},...]},...]}}, {state,[{388211372416021087647853783690262677096107081728,'riak_pg at 127.0.0.1'},{411047335499316445744786359201454599278231027712,...},...],...}) line 119 in context child_terminated
> 13:16:15.300 [error] gen_fsm <0.487.0> in state active terminated with reason: {'module could not be loaded',[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{file,"src/riak_pg_memberships_vnode.erl"},{line,143}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]},{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
> 13:16:15.301 [error] CRASH REPORT Process <0.487.0> with 0 neighbours exited with reason: call to undefined function riak_dt_vvorset:new() in gen_fsm:terminate/7 line 622
> 13:16:15.301 [error] gen_fsm <0.489.0> in state active terminated with reason: {'module could not be loaded',[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{file,"src/riak_pg_memberships_vnode.erl"},{line,143}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]},{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
> 13:16:15.301 [error] CRASH REPORT Process <0.489.0> with 0 neighbours exited with reason: call to undefined function riak_dt_vvorset:new() in gen_fsm:terminate/7 line 622
> 13:16:15.302 [error] gen_fsm <0.491.0> in state active terminated with reason: {'module could not be loaded',[{riak_dt_vvorset,new,[],[]},{riak_pg_memberships_vnode,handle_command,3,[{file,"src/riak_pg_memberships_vnode.erl"},{line,143}]},{riak_core_vnode,vnode_command,3,[{file,"src/riak_core_vnode.erl"},{line,345}]},{gen_fsm,handle_msg,7,[{file,"gen_fsm.erl"},{line,505}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}
> 13:16:15.302 [error] CRASH REPORT Process <0.491.0> with 0 neighbours exited with reason: call to undefined function riak_dt_vvorset:new() in gen_fsm:terminate/7 line 622
> 13:16:15.302 [error] Supervisor riak_core_vnode_sup had child undefined started with {riak_core_vnode,start_link,undefined} at <0.487.0> exit with reason call to undefined function riak_dt_vvorset:new() in context child_terminated
> 13:16:15.302 [error] Supervisor riak_core_vnode_sup had child undefined started with {riak_core_vnode,start_link,undefined} at <0.489.0> exit with reason call to undefined function riak_dt_vvorset:new() in context child_terminated
> 13:16:15.302 [error] Supervisor riak_core_vnode_sup had child undefined started with {riak_core_vnode,start_link,undefined} at <0.491.0> exit with reason call to undefined function riak_dt_vvorset:new() in context child_terminated
> {error,timeout}
> 
> It looks like riak_dt is not defined, however it is in the deps folder. I tried passing "-pa deps/riak_dt/ebin" in the command line arguments but that has no effect. I was wondering if someone knows how to go about getting this working, or have an idea where to post my problem to.

The version of Riak PG that was used when publishing the paper depended on riak_dt having a vvorset on the master branch.  I discussed with Hristo offline and updated the application to use the orswot and pushed the changes to riak_pg master.

Thanks!

- Chris



More information about the riak-users mailing list