saw the code in "deps/riak_core/src/riak_core_handoff_receiver.erl"
process_message(?PT_MSG_INIT, MsgData, State=#state{vnode_mod=VNodeMod}) -> <<Partition:160/integer>> = MsgData, lager:info("Receiving handoff data for partition ~p:~p", [VNodeMod, Partition]), {ok, VNode} = riak_core_vnode_master:get_vnode_pid(Partition, VNodeMod), State#state{partition=Partition, vnode=VNode}; process_message(?PT_MSG_OBJ, MsgData, State=#state{vnode=VNode, count=Count}) -> Msg = {handoff_data, MsgData}, case gen_fsm:sync_send_all_state_event(VNode, Msg, 60000) of ok -> State#state{count=Count+1}; E={error, _} -> exit(E) end; process_message(?PT_MSG_OLDSYNC, MsgData, State=#state{sock=Socket, tcp_mod=TcpMod}) -> TcpMod:send(Socket, <<?PT_MSG_OLDSYNC:8,"sync">>), <<VNodeModBin/binary>> = MsgData, VNodeMod = binary_to_atom(VNodeModBin, utf8), State#state{vnode_mod=VNodeMod}; process_message(?PT_MSG_SYNC, _MsgData, State=#state{sock=Socket, tcp_mod=TcpMod}) -> TcpMod:send(Socket, <<?PT_MSG_SYNC:8, "sync">>), State; process_message(?PT_MSG_CONFIGURE, MsgData, State) -> ConfProps = binary_to_term(MsgData), State#state{vnode_mod=proplists:get_value(vnode_mod, ConfProps), partition=proplists:get_value(partition, ConfProps)}; process_message(_, _MsgData, State=#state{sock=Socket, tcp_mod=TcpMod}) -> TcpMod:send(Socket, <<255:8,"unknown_msg">>), State. Your request message sent from riak-erlang-client has been droped to the last one of matching. Zheng Zhibin 在 2012-1-22,上午12:43, Mike Oxford 写道: > 3 node cluster of 1.0.2, level_db backend, pb interface. Build up a > store of 9 connections (3 to each node) and pull one out randomly. > > --snip > 62> > riakc_pb_socket:list_keys(gen_server:call(forum_store:get_random_pid(alliance), > get_connector_pid), <<"alliance_overview">> > {ok,[]} > > 63> > riakc_pb_socket:list_keys(gen_server:call(forum_store:get_random_pid(alliance), > get_connector_pid), <<"alliance_overview">>). > {ok,[]} > > 64> > riakc_pb_socket:list_keys(gen_server:call(forum_store:get_random_pid(alliance), > get_connector_pid), "alliance_overview"). > {ok,[]} > > 65> > riakc_pb_socket:list_keys(gen_server:call(forum_store:get_random_pid(alliance), > get_connector_pid), "alliance_overview"). > =ERROR REPORT==== 21-Jan-2012::08:23:11 === > ** Generic server <0.24647.5> terminating > ** Last message in was {tcp,#Port<0.5820>,[255|<<"unknown_msg">>]} > ** When Server state == {state,"127.0.0.1",2010,false,false,#Port<0.5820>, > {request,#Ref<0.0.4.159143>, > {rpblistkeysreq,"alliance_overview"}, > undefined, > {106931976,<0.25063.5>}, > 60000,#Ref<0.0.4.159144>}, > {[],[]}, > 1,[],infinity,100} > ** Reason for termination == > ** {function_clause,[{riakclient_pb,decode,[undefined,<<"unknown_msg">>]}, > {riakc_pb_socket,handle_info,2}, > {gen_server,handle_msg,5}, > {proc_lib,init_p_do_apply,3}]} > {error,{timeout,[]}} > > 66> > riakc_pb_socket:list_keys(gen_server:call(forum_store:get_random_pid(alliance), > get_connector_pid), "alliance_overview"). > {ok,[]} > --end snip > > Riak console spits out the following at the same time... > > --snip > nodes().08:23:11.154 [info] Handoff receiver for partition undefined > exited after processing 0 objects > --end snip > > Error condition does not seem to follow any specific node and the > connections die when the error is thrown so its constantly building > new ones. > > TIA. > > -mox > > _______________________________________________ > riak-users mailing list > riak-users@lists.basho.com > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com