@@ -137,8 +137,6 @@ start_link() ->
137
137
% % list is empty)
138
138
InitEagers = Members ,
139
139
InitLazys = [],
140
- plumtree_util :log (debug , " init peers, eager: ~p , lazy: ~p " ,
141
- [InitEagers , InitLazys ]),
142
140
Mods = app_helper :get_env (plumtree , broadcast_mods , []),
143
141
Res = start_link (Members , InitEagers , InitLazys , Mods ,
144
142
[{lazy_tick_period , LazyTickPeriod },
@@ -256,6 +254,8 @@ debug_get_tree(Root, Nodes) ->
256
254
% % @private
257
255
-spec init ([[any ()], ...]) -> {ok , state ()}.
258
256
init ([AllMembers , InitEagers , InitLazys , Mods , Opts ]) ->
257
+ plumtree_util :log (debug , " init ~p peers, eager: ~p , lazy: ~p " ,
258
+ [AllMembers , InitEagers , InitLazys ]),
259
259
LazyTickPeriod = proplists :get_value (lazy_tick_period , Opts ),
260
260
ExchangeTickPeriod = proplists :get_value (exchange_tick_period , Opts ),
261
261
schedule_lazy_tick (LazyTickPeriod ),
@@ -300,7 +300,8 @@ handle_cast({broadcast, MessageId, Message, Mod, Round, Root, From}, State) ->
300
300
{noreply , State1 };
301
301
handle_cast ({prune , Root , From }, State ) ->
302
302
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 ]),
304
305
State1 = add_lazy (From , Root , State ),
305
306
{noreply , State1 };
306
307
handle_cast ({i_have , MessageId , Mod , Round , Root , From }, State ) ->
@@ -374,12 +375,15 @@ code_change(_OldVsn, State, _Extra) ->
374
375
% %%===================================================================
375
376
handle_broadcast (false , _MessageId , _Message , Mod , _Round , Root , From , State ) -> % % stale msg
376
377
% % 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 ]),
378
380
State1 = add_lazy (From , Root , State ),
379
381
_ = send ({prune , Root , myself ()}, Mod , From ),
380
382
State1 ;
381
383
handle_broadcast (true , MessageId , Message , Mod , Round , Root , From , State ) -> % % valid msg
382
384
% % 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 ]),
383
387
State1 = add_eager (From , Root , State ),
384
388
State2 = eager_push (MessageId , Message , Mod , Round + 1 , Root , From , State1 ),
385
389
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
390
394
handle_ihave (false , MessageId , Mod , Round , Root , From , State ) -> % % valid i_have
391
395
% % TODO: don't graft immediately
392
396
_ = 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 ]),
393
399
add_eager (From , Root , State ).
394
400
395
401
handle_graft (stale , MessageId , Mod , Round , Root , From , State ) ->
@@ -401,6 +407,8 @@ handle_graft({ok, Message}, MessageId, Mod, Round, Root, From, State) ->
401
407
% % we don't ack outstanding here because the broadcast may fail to be delivered
402
408
% % instead we will allow the i_have to be sent once more and let the subsequent
403
409
% % 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 ]),
404
412
State1 = add_eager (From , Root , State ),
405
413
_ = send ({broadcast , MessageId , Message , Mod , Round , Root , myself ()}, Mod , From ),
406
414
State1 ;
@@ -451,12 +459,12 @@ send_lazy(#state{outstanding=Outstanding}) ->
451
459
[send_lazy (Peer , Messages ) || {Peer , Messages } <- orddict :to_list (Outstanding )].
452
460
453
461
send_lazy (Peer , Messages ) ->
462
+ plumtree_util :log (debug , " flushing ~p outstanding lazy pushes to peer ~p " ,
463
+ [ordsets :size (Messages ), Peer ]),
454
464
[send_lazy (MessageId , Mod , Round , Root , Peer ) ||
455
465
{MessageId , Mod , Round , Root } <- ordsets :to_list (Messages )].
456
466
457
467
send_lazy (MessageId , Mod , Round , Root , Peer ) ->
458
- plumtree_util :log (debug , " sending lazy push ~p " ,
459
- [{i_have , MessageId , Mod , Round , Root , myself ()}]),
460
468
send ({i_have , MessageId , Mod , Round , Root , myself ()}, Mod , Peer ).
461
469
462
470
maybe_exchange (State ) ->
0 commit comments