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