@@ -125,8 +125,6 @@ start_link() ->
125
125
% % list is empty)
126
126
InitEagers = Members ,
127
127
InitLazys = [],
128
- plumtree_util :log (debug , " init peers, eager: ~p , lazy: ~p " ,
129
- [InitEagers , InitLazys ]),
130
128
Mods = app_helper :get_env (plumtree , broadcast_mods , []),
131
129
Res = start_link (Members , InitEagers , InitLazys , Mods ),
132
130
PeerService :add_sup_callback (fun ? MODULE :update /1 ),
@@ -236,6 +234,8 @@ debug_get_tree(Root, Nodes) ->
236
234
% % @private
237
235
-spec init ([[any ()], ...]) -> {ok , state ()}.
238
236
init ([AllMembers , InitEagers , InitLazys , Mods ]) ->
237
+ plumtree_util :log (debug , " init ~p peers, eager: ~p , lazy: ~p " ,
238
+ [AllMembers , InitEagers , InitLazys ]),
239
239
schedule_lazy_tick (),
240
240
schedule_exchange_tick (),
241
241
State1 = # state {
@@ -276,7 +276,8 @@ handle_cast({broadcast, MessageId, Message, Mod, Round, Root, From}, State) ->
276
276
{noreply , State1 };
277
277
handle_cast ({prune , Root , From }, State ) ->
278
278
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 ]),
280
281
State1 = add_lazy (From , Root , State ),
281
282
{noreply , State1 };
282
283
handle_cast ({i_have , MessageId , Mod , Round , Root , From }, State ) ->
@@ -348,12 +349,15 @@ code_change(_OldVsn, State, _Extra) ->
348
349
% %%===================================================================
349
350
handle_broadcast (false , _MessageId , _Message , Mod , _Round , Root , From , State ) -> % % stale msg
350
351
% % 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 ]),
352
354
State1 = add_lazy (From , Root , State ),
353
355
_ = send ({prune , Root , myself ()}, Mod , From ),
354
356
State1 ;
355
357
handle_broadcast (true , MessageId , Message , Mod , Round , Root , From , State ) -> % % valid msg
356
358
% % 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 ]),
357
361
State1 = add_eager (From , Root , State ),
358
362
State2 = eager_push (MessageId , Message , Mod , Round + 1 , Root , From , State1 ),
359
363
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
364
368
handle_ihave (false , MessageId , Mod , Round , Root , From , State ) -> % % valid i_have
365
369
% % TODO: don't graft immediately
366
370
_ = 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 ]),
367
373
add_eager (From , Root , State ).
368
374
369
375
handle_graft (stale , MessageId , Mod , Round , Root , From , State ) ->
@@ -375,6 +381,8 @@ handle_graft({ok, Message}, MessageId, Mod, Round, Root, From, State) ->
375
381
% % we don't ack outstanding here because the broadcast may fail to be delivered
376
382
% % instead we will allow the i_have to be sent once more and let the subsequent
377
383
% % 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 ]),
378
386
State1 = add_eager (From , Root , State ),
379
387
_ = send ({broadcast , MessageId , Message , Mod , Round , Root , myself ()}, Mod , From ),
380
388
State1 ;
@@ -425,12 +433,14 @@ send_lazy(#state{outstanding=Outstanding}) ->
425
433
[send_lazy (Peer , Messages ) || {Peer , Messages } <- orddict :to_list (Outstanding )].
426
434
427
435
send_lazy (Peer , Messages ) ->
436
+ plumtree_util :log (debug , " flushing ~p outstanding lazy pushes to peer ~p " ,
437
+ [ordsets :size (Messages ), Peer ]),
428
438
[send_lazy (MessageId , Mod , Round , Root , Peer ) ||
429
439
{MessageId , Mod , Round , Root } <- ordsets :to_list (Messages )].
430
440
431
441
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()}]),
434
444
send ({i_have , MessageId , Mod , Round , Root , myself ()}, Mod , Peer ).
435
445
436
446
maybe_exchange (State ) ->
0 commit comments