我想运行一个程序,将数据加载到 riak 数据库中,但是当我给出大约 10 的范围时,该过程突然停止。如果我给出 5-8,它正在获取并加载数据,当我给出的范围超过 10 时,它是挂断电话。发生了什么事。
test(X,Y) ->
if X < Y ->
{ok,Pid} = riakc_pb_socket:start_link("127.0.0.1",10017),
Val = X,
io:format("~p",[Pid]),
Object = riakc_obj:new(<<"test_age">>,undefined,Val),
riakc_pb_socket:put(Pid,Object),
test(X+1,Y);
true -> []
end.
该函数将采用一系列数字,然后将数字添加到旧数字中,然后将其插入到 riak 数据库中。
当我从 erlang shell 运行这个程序时,它在取大约 10 的范围后停止:
erlriak:test(1,5)
<0.50.0><0.51.0><0.52.0><0.53.0><0.54.0>[]
erlriak:test(5,15)
<0.62.0><0.63.0><0.64.0><0.65.0><0.66.0><0.67.0><0.68.0><0.69.0><0.70.0>|
它在 <0.70.0> 之后挂了几分钟,没有任何返回。我得到以下信息:
=ERROR REPORT==== 19-May-2014::17:29:54 ===
** Generic server <0.104.0> terminating
** Last message in was {req_timeout,#Ref<0.0.0.423>}
** When Server state == {state,"127.0.0.1",10017,false,false,undefined,false,
gen_tcp,undefined,
{[],[]},
1,[],infinity,undefined,undefined,undefined,
undefined,[],100}
** Reason for termination ==
** disconnected
** exception exit: disconnected