Skip to content

Commit 412eee0

Browse files
committed
Improve debug
1 parent 94e60be commit 412eee0

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

src/plumtree_broadcast.erl

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,6 @@ start_link() ->
125125
%% list is empty)
126126
InitEagers = Members,
127127
InitLazys = [],
128-
plumtree_util:log(debug, "init peers, eager: ~p, lazy: ~p",
129-
[InitEagers, InitLazys]),
130128
Mods = app_helper:get_env(plumtree, broadcast_mods, []),
131129
Res = start_link(Members, InitEagers, InitLazys, Mods),
132130
PeerService:add_sup_callback(fun ?MODULE:update/1),
@@ -236,6 +234,8 @@ debug_get_tree(Root, Nodes) ->
236234
%% @private
237235
-spec init([[any()], ...]) -> {ok, state()}.
238236
init([AllMembers, InitEagers, InitLazys, Mods]) ->
237+
plumtree_util:log(debug, "init ~p peers, eager: ~p, lazy: ~p",
238+
[AllMembers, InitEagers, InitLazys]),
239239
schedule_lazy_tick(),
240240
schedule_exchange_tick(),
241241
State1 = #state{
@@ -276,7 +276,8 @@ handle_cast({broadcast, MessageId, Message, Mod, Round, Root, From}, State) ->
276276
{noreply, State1};
277277
handle_cast({prune, Root, From}, State) ->
278278
plumtree_util:log(debug, "received ~p", [{prune, Root, From}]),
279-
plumtree_util:log(debug, "moving peer ~p from eager to lazy", [From]),
279+
plumtree_util:log(debug, "moving peer ~p from eager to lazy on tree rooted at ~p",
280+
[From, Root]),
280281
State1 = add_lazy(From, Root, State),
281282
{noreply, State1};
282283
handle_cast({i_have, MessageId, Mod, Round, Root, From}, State) ->
@@ -348,12 +349,15 @@ code_change(_OldVsn, State, _Extra) ->
348349
%%%===================================================================
349350
handle_broadcast(false, _MessageId, _Message, Mod, _Round, Root, From, State) -> %% stale msg
350351
%% remove sender from eager and set as lazy
351-
plumtree_util:log(debug, "moving peer ~p from eager to lazy", [From]),
352+
plumtree_util:log(debug, "moving peer ~p from eager to lazy on tree rooted at ~p, requesting it to also do the same",
353+
[From, Root]),
352354
State1 = add_lazy(From, Root, State),
353355
_ = send({prune, Root, myself()}, Mod, From),
354356
State1;
355357
handle_broadcast(true, MessageId, Message, Mod, Round, Root, From, State) -> %% valid msg
356358
%% remove sender from lazy and set as eager
359+
plumtree_util:log(debug, "moving peer ~p from lazy to eager on tree rooted at ~p",
360+
[From, Root]),
357361
State1 = add_eager(From, Root, State),
358362
State2 = eager_push(MessageId, Message, Mod, Round+1, Root, From, State1),
359363
schedule_lazy_push(MessageId, Mod, Round+1, Root, From, State2).
@@ -364,6 +368,8 @@ handle_ihave(true, MessageId, Mod, Round, Root, From, State) -> %% stale i_have
364368
handle_ihave(false, MessageId, Mod, Round, Root, From, State) -> %% valid i_have
365369
%% TODO: don't graft immediately
366370
_ = send({graft, MessageId, Mod, Round, Root, myself()}, Mod, From),
371+
plumtree_util:log(debug, "moving peer ~p from lazy to eager on tree rooted at ~p, graft requested from ~p",
372+
[From, Root, From]),
367373
add_eager(From, Root, State).
368374

369375
handle_graft(stale, MessageId, Mod, Round, Root, From, State) ->
@@ -375,6 +381,8 @@ handle_graft({ok, Message}, MessageId, Mod, Round, Root, From, State) ->
375381
%% we don't ack outstanding here because the broadcast may fail to be delivered
376382
%% instead we will allow the i_have to be sent once more and let the subsequent
377383
%% ignore serve as the ack.
384+
plumtree_util:log(debug, "moving peer ~p from lazy to eager on tree rooted at ~p",
385+
[From, Root]),
378386
State1 = add_eager(From, Root, State),
379387
_ = send({broadcast, MessageId, Message, Mod, Round, Root, myself()}, Mod, From),
380388
State1;
@@ -425,12 +433,14 @@ send_lazy(#state{outstanding=Outstanding}) ->
425433
[send_lazy(Peer, Messages) || {Peer, Messages} <- orddict:to_list(Outstanding)].
426434

427435
send_lazy(Peer, Messages) ->
436+
plumtree_util:log(debug, "flushing ~p outstanding lazy pushes to peer ~p",
437+
[ordsets:size(Messages), Peer]),
428438
[send_lazy(MessageId, Mod, Round, Root, Peer) ||
429439
{MessageId, Mod, Round, Root} <- ordsets:to_list(Messages)].
430440

431441
send_lazy(MessageId, Mod, Round, Root, Peer) ->
432-
plumtree_util:log(debug, "sending lazy push ~p",
433-
[{i_have, MessageId, Mod, Round, Root, myself()}]),
442+
% plumtree_util:log(debug, "sending lazy push ~p",
443+
% [{i_have, MessageId, Mod, Round, Root, myself()}]),
434444
send({i_have, MessageId, Mod, Round, Root, myself()}, Mod, Peer).
435445

436446
maybe_exchange(State) ->

test/plumtree_test_broadcast_handler.erl

Lines changed: 8 additions & 3 deletions
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.
@@ -156,7 +158,10 @@ graft({Key, Context}) ->
156158
LocalContext = plumtree_test_object:context(Object),
157159
case LocalContext =:= Context of
158160
true -> {ok, Object};
159-
false -> stale
161+
false ->
162+
lager:info("graft({~p, ~p}), context provided does not match local context ~p",
163+
[Key, Context, LocalContext]),
164+
stale
160165
end
161166
end.
162167

0 commit comments

Comments
 (0)