Skip to content

Commit 6785ff1

Browse files
committed
Improve debug
1 parent 6ecea3b commit 6785ff1

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

src/plumtree_broadcast.erl

+14-6
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,6 @@ start_link() ->
137137
%% list is empty)
138138
InitEagers = Members,
139139
InitLazys = [],
140-
plumtree_util:log(debug, "init peers, eager: ~p, lazy: ~p",
141-
[InitEagers, InitLazys]),
142140
Mods = app_helper:get_env(plumtree, broadcast_mods, []),
143141
Res = start_link(Members, InitEagers, InitLazys, Mods,
144142
[{lazy_tick_period, LazyTickPeriod},
@@ -256,6 +254,8 @@ debug_get_tree(Root, Nodes) ->
256254
%% @private
257255
-spec init([[any()], ...]) -> {ok, state()}.
258256
init([AllMembers, InitEagers, InitLazys, Mods, Opts]) ->
257+
plumtree_util:log(debug, "init ~p peers, eager: ~p, lazy: ~p",
258+
[AllMembers, InitEagers, InitLazys]),
259259
LazyTickPeriod = proplists:get_value(lazy_tick_period, Opts),
260260
ExchangeTickPeriod = proplists:get_value(exchange_tick_period, Opts),
261261
schedule_lazy_tick(LazyTickPeriod),
@@ -300,7 +300,8 @@ handle_cast({broadcast, MessageId, Message, Mod, Round, Root, From}, State) ->
300300
{noreply, State1};
301301
handle_cast({prune, Root, From}, State) ->
302302
plumtree_util:log(debug, "received ~p", [{prune, Root, From}]),
303-
plumtree_util:log(debug, "moving peer ~p from eager to lazy", [From]),
303+
plumtree_util:log(debug, "moving peer ~p from eager to lazy on tree rooted at ~p",
304+
[From, Root]),
304305
State1 = add_lazy(From, Root, State),
305306
{noreply, State1};
306307
handle_cast({i_have, MessageId, Mod, Round, Root, From}, State) ->
@@ -374,12 +375,15 @@ code_change(_OldVsn, State, _Extra) ->
374375
%%%===================================================================
375376
handle_broadcast(false, _MessageId, _Message, Mod, _Round, Root, From, State) -> %% stale msg
376377
%% remove sender from eager and set as lazy
377-
plumtree_util:log(debug, "moving peer ~p from eager to lazy", [From]),
378+
plumtree_util:log(debug, "moving peer ~p from eager to lazy on tree rooted at ~p, requesting it to also do the same",
379+
[From, Root]),
378380
State1 = add_lazy(From, Root, State),
379381
_ = send({prune, Root, myself()}, Mod, From),
380382
State1;
381383
handle_broadcast(true, MessageId, Message, Mod, Round, Root, From, State) -> %% valid msg
382384
%% remove sender from lazy and set as eager
385+
plumtree_util:log(debug, "moving peer ~p from lazy to eager on tree rooted at ~p",
386+
[From, Root]),
383387
State1 = add_eager(From, Root, State),
384388
State2 = eager_push(MessageId, Message, Mod, Round+1, Root, From, State1),
385389
schedule_lazy_push(MessageId, Mod, Round+1, Root, From, State2).
@@ -390,6 +394,8 @@ handle_ihave(true, MessageId, Mod, Round, Root, From, State) -> %% stale i_have
390394
handle_ihave(false, MessageId, Mod, Round, Root, From, State) -> %% valid i_have
391395
%% TODO: don't graft immediately
392396
_ = send({graft, MessageId, Mod, Round, Root, myself()}, Mod, From),
397+
plumtree_util:log(debug, "moving peer ~p from lazy to eager on tree rooted at ~p, graft requested from ~p",
398+
[From, Root, From]),
393399
add_eager(From, Root, State).
394400

395401
handle_graft(stale, MessageId, Mod, Round, Root, From, State) ->
@@ -401,6 +407,8 @@ handle_graft({ok, Message}, MessageId, Mod, Round, Root, From, State) ->
401407
%% we don't ack outstanding here because the broadcast may fail to be delivered
402408
%% instead we will allow the i_have to be sent once more and let the subsequent
403409
%% ignore serve as the ack.
410+
plumtree_util:log(debug, "moving peer ~p from lazy to eager on tree rooted at ~p",
411+
[From, Root]),
404412
State1 = add_eager(From, Root, State),
405413
_ = send({broadcast, MessageId, Message, Mod, Round, Root, myself()}, Mod, From),
406414
State1;
@@ -451,12 +459,12 @@ send_lazy(#state{outstanding=Outstanding}) ->
451459
[send_lazy(Peer, Messages) || {Peer, Messages} <- orddict:to_list(Outstanding)].
452460

453461
send_lazy(Peer, Messages) ->
462+
plumtree_util:log(debug, "flushing ~p outstanding lazy pushes to peer ~p",
463+
[ordsets:size(Messages), Peer]),
454464
[send_lazy(MessageId, Mod, Round, Root, Peer) ||
455465
{MessageId, Mod, Round, Root} <- ordsets:to_list(Messages)].
456466

457467
send_lazy(MessageId, Mod, Round, Root, Peer) ->
458-
plumtree_util:log(debug, "sending lazy push ~p",
459-
[{i_have, MessageId, Mod, Round, Root, myself()}]),
460468
send({i_have, MessageId, Mod, Round, Root, myself()}, Mod, Peer).
461469

462470
maybe_exchange(State) ->

test/plumtree_test_broadcast_handler.erl

+8-3
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,14 @@ broadcast_data({Key, Object}) ->
124124
%% If the message has already been received return `false', otherwise return `true'
125125
-spec merge(any(), any()) -> boolean().
126126
merge({Key, _Context} = MsgId, RemoteObj) ->
127-
lager:info("merge msg id ~p, object: ~p",
128-
[MsgId, RemoteObj]),
129127
Existing = dbread(Key),
128+
lager:info("merge msg id ~p, remote object: ~p, existing object: ~p",
129+
[MsgId, RemoteObj, Existing]),
130130
case plumtree_test_object:reconcile(RemoteObj, Existing) of
131131
false -> false;
132132
{true, Reconciled} ->
133+
lager:info("merge object has ben reconciled to ~p",
134+
[Reconciled]),
133135
dbwrite(Key, Reconciled),
134136
true
135137
end.
@@ -159,7 +161,10 @@ graft({Key, Context}) ->
159161
LocalContext = plumtree_test_object:context(Object),
160162
case LocalContext =:= Context of
161163
true -> {ok, Object};
162-
false -> stale
164+
false ->
165+
lager:info("graft({~p, ~p}), context provided does not match local context ~p",
166+
[Key, Context, LocalContext]),
167+
stale
163168
end
164169
end.
165170

0 commit comments

Comments
 (0)