Hi,

I am trying to get started with Riak, so installed the
'riak_1.1.4-1_i386.deb' on a Ubuntu 12.04 LTS 32bit System running in a
Virtual Box VM. I no not have any cluster.

I have a script which does the following:

1. It creates 50 child processes which run in parallel
2. Each Child process does the following
     a. Creates 1000 entries using the provides REST interface. The entry
is a simple json value with 4 attributes and an integer key. This goes
through fine.

         The Json object is something like {"name": "Test1", "title": "This
is the title for Test1", "count": 1, "pid": 1234}. The pid is the process
ID of the process creating the entry. I later use this to query the entries
created by the process.

     b. Reads the entries created by it. A Javascript Map function which is
stored as an object is used to filter and return only the entries created
by the process


During the reads, I get the following errors in HTTP response:


{"phase":0,"error":"[worker_limit_reached]","input":"{<<\"samples\">>,<<\"11505823\">>}","type":"result","stack":"[]"}

and

{"phase":0,"error":"[preflist_exhausted]","input":"{ok,{r_object,<<\"samples\">>,<<\"11506270\">>,[{r_content,{dict,7,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[[<<\"Links\">>]],[],[],[],[],[],[],[],[[<<\"content-type\">>,97,112,112,108,105,99,97,116,105,111,110,47,106,115,111,110],[<<\"X-Riak-VTag\">>,78,109,90,48,101,81,88,51,55,54,85,120,120,115,68,101,71,108,76,77,71]],[[<<\"index\">>]],[],[[<<\"X-Riak-Last-Modified\">>|{1342,87419,992551}]],[],[[<<\"charset\">>,85,84,70,45,56],[<<\"X-Riak-Meta\">>]]}}},<<\"{
\\n            ...\">>}],...},...}","type":"forward_preflist","stack":"[]"}

The crash log has these:

2012-07-12 15:24:10 =ERROR REPORT====
Module riak_kv_pipe_get must be purged before loading

2012-07-12 15:24:10 =ERROR REPORT====
Loading of /usr/lib/riak/lib/riak_kv-1.1.4/ebin/riak_kv_pipe_get.beam
failed: not_purged
2012-07-12 15:24:10 =ERROR REPORT====
Module riak_kv_pipe_get must be purged before loading

2012-07-12 15:24:10 =ERROR REPORT====
Loading of /usr/lib/riak/lib/riak_kv-1.1.4/ebin/riak_kv_pipe_get.beam
failed: not_purged
2012-07-12 15:24:10 =ERROR REPORT====
Module riak_kv_pipe_get must be purged before loading

2012-07-12 15:24:10 =ERROR REPORT====
Loading of /usr/lib/riak/lib/riak_kv-1.1.4/ebin/riak_kv_pipe_get.beam
failed: not_purged
2012-07-12 15:24:10 =ERROR REPORT====
Module riak_kv_mrc_map must be purged before loading

2012-07-12 15:24:10 =ERROR REPORT====
Loading of /usr/lib/riak/lib/riak_kv-1.1.4/ebin/riak_kv_mrc_map.beam
failed: not_purged
2012-07-12 15:24:10 =ERROR REPORT====
Module riak_kv_mrc_map must be purged before loading

2012-07-12 15:24:10 =ERROR REPORT====
Loading of /usr/lib/riak/lib/riak_kv-1.1.4/ebin/riak_kv_mrc_map.beam
failed: not_purged
2012-07-12 15:24:10 =ERROR REPORT====
Loading of /usr/lib/riak/lib/riak_kv-1.1.4/ebin/riak_kv_mrc_map.beam
failed: not_purged
2012-07-12 15:24:11 =ERROR REPORT====
Module riak_kv_mrc_map must be purged before loading

2012-07-12 15:24:12 =CRASH REPORT====
  crasher:
    initial call: riak_pipe_vnode_worker:init/1
    pid: <0.2303.0>
    registered_name: []
    exception exit:
{init_failed,error,{case_clause,{error,{insufficient_vnodes,0,need,1}}}}
      in function  gen_fsm:init_it/6
      in call from proc_lib:init_p_do_apply/3
    ancestors:
[<0.340.0>,<0.339.0>,riak_core_vnode_sup,riak_core_sup,<0.93.0>]
    messages: []
    links: [<0.340.0>]
    dictionary:
[{eunit,[{module,riak_pipe_vnode_worker},{partition,1050454301831586472458898473514828420377701515264},{<0.339.0>,<0.339.0>},{details,{fitting_details,{fitting,<0.1136.0>,#Ref<0.0.0.2622>,follow,1},0,riak_kv_mrc_map,{{jsanon,{<<"functions">>,<<"get_by_pid">>}},11043},{fitting,<0.799.0>,#Ref<0.0.0.2622>,sink,undefined},[{sink,{fitting,<0.799.0>,#Ref<0.0.0.2622>,sink,undefined}},{log,sink},{trace,{set,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[error],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}}],64}}]}]
    trap_exit: false
    status: running
    heap_size: 987
    stack_size: 24
    reductions: 256
  neighbours:
2012-07-12 15:24:12 =SUPERVISOR REPORT====
     Supervisor: {<0.340.0>,riak_pipe_vnode_worker_sup}
     Context:    child_terminated
     Reason:
{init_failed,error,{case_clause,{error,{insufficient_vnodes,0,need,1}}}}
     Offender:
[{pid,<0.2303.0>},{name,undefined},{mfargs,{riak_pipe_vnode_worker,start_link,undefined}},{restart_type,temporary},{shutdown,2000},{child_type,worker}]


I did search the Basho site for the error messages and found that some
configurtion changes in app.config and setting ulimit might help. But that
didnt solve my problem.

My ulimit is set as 'ulimit -n 4096'. I have also done the following
changes to the app.config:

diff /etc/riak/app.config /etc/riak/orig.app.config
65c65
<             %% {pb_backlog, 500},
---
>             %% {pb_backlog, 5},
80d79
<             {riak_pipe, [{worker_limit, 1000}]},
97,99c96,98
<             {map_js_vm_count, 2048 },
<             {reduce_js_vm_count, 2048 },
<             {hook_js_vm_count, 2048 },
---
>             {map_js_vm_count, 8 },
>             {reduce_js_vm_count, 6 },
>             {hook_js_vm_count, 2 },
110c109
<             {js_max_vm_mem, 800},
---
>             {js_max_vm_mem, 8},
115c114
<             {js_thread_stack, 1600},
---
>             {js_thread_stack, 16},


Any pointers for this issue will be helpful.

Regards,
Balu
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to