Hello everybody,

I'm trying to execute some mapreduce jobs and i have a problem with timeout.
I'm working with riak_kv_version : <<"0.12.1">> with a single node "cluster".

My inputs are "people" bucket which contains more than 200k documents. So i have decided to set mapreduce timeout to 600000 milliseconds.
Obviously, it doesn't take care of timeout.
You'll find below the JSON object i sent to Riak/mapred and the Internal Server Error less than 60 seconds after. I added the error message i got
in riak console.

=====
> date; perl riak.pl ; date
mardi 5 octobre 2010, 17:47:58 (UTC+0200)
--- "{\"timeout\":600000,\"query\":[{\"map\":{\"source\":\"function(v) { var data = Riak.mapValuesJson(v)[0] ; if ( data.faved_what != undefined && data.faved_what.total != undefined ) { return [ data.faved_what.total ] ; } return []; }\",\"language\":\"javascript\",\"arg\":[],\"keep\":false}},{\"reduce\":{\"source\":\"function(values, arg) { return [ values.reduce( function (item, total) { return item + total*1 ; }, 0 ) ] }\",\"language\":\"javascript\",\"arg\":[],\"keep\":true}}],\"inputs\":\"people\"}"
--- 500 Internal Server Error

mardi 5 octobre 2010, 17:48:53 (UTC+0200)
=====

********
=ERROR REPORT==== 5-Oct-2010::17:48:53 ===
Failed reduce: {timeout,
                   {gen_server,call,
                       [<0.143.0>,
                        {dispatch,
                            {<0.143.0>,#Ref<0.0.5.43514>},
                            {{jsanon,
<<"function(values, arg) { return [ values.reduce( function (item, total) { return item + total*1 ; }, 0 ) ] }">>},
                             [<<"2607">>,<<"261">>,<<"1753">>,<<"81">>,
<<"18190">>,<<"581">>,<<"811">>,<<"732">>,
<<"1831">>,<<"967">>,<<"2650">>,<<"222">>,
<<"674">>,<<"2136">>,<<"1467">>,<<"362">>,
<<"19965">>,<<"2025">>,<<"348">>,<<"4817">>,
<<"286">>],
                             []}},
                        10000]}}

=ERROR REPORT==== 5-Oct-2010::17:48:53 ===
** State machine <0.24966.6> terminating
** Last event in was {inputs,[<<"286">>]}
** When State == executing
**      Data  == {state,1,riak_kv_reduce_phase,
                     {state,
                         {javascript,
                             {reduce,
                                 {jsanon,
<<"function(values, arg) { return [ values.reduce( function (item, total) { return item + total*1 ; }, 0 ) ] }">>},
                                 [],true}},
                         [],[]},
                     true,true,undefined,[],undefined,1,<0.24964.6>,660000}
** Reason for termination =
** {error,failed_reduce}
********

Any idea about this ??

Thank you,
I'll go back to work on my slides for saturday :)


--
Germain Maurice
Administrateur Système/Réseau
Tel : +33.(0)1.42.43.54.33

http://www.linkfluence.net


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

Reply via email to