Skip to content

Commit 4f3d5e5

Browse files
Mirrored supervisor: more logging at debug level
1 parent 35ab19c commit 4f3d5e5

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

deps/rabbit_common/src/mirrored_supervisor.erl

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,20 @@ handle_call({start_child, ChildSpec}, _From,
304304
delegate = Delegate,
305305
group = Group,
306306
tx_fun = TxFun}) ->
307+
rabbit_log:debug("Mirrored supervisor: asked to consider starting a child, group: ~p", [Group]),
307308
{reply, case maybe_start(Group, TxFun, Overall, Delegate, ChildSpec) of
308-
already_in_mnesia -> {error, already_present};
309-
{already_in_mnesia, Pid} -> {error, {already_started, Pid}};
310-
Else -> Else
309+
already_in_mnesia ->
310+
rabbit_log:debug("Mirrored supervisor: maybe_start for group ~p,"
311+
" overall ~p returned 'record already present'", [Group, Overall]),
312+
{error, already_present};
313+
{already_in_mnesia, Pid} ->
314+
rabbit_log:debug("Mirrored supervisor: maybe_start for group ~p,"
315+
" overall ~p returned 'already running: ~p'", [Group, Overall, Pid]),
316+
{error, {already_started, Pid}};
317+
Else ->
318+
rabbit_log:debug("Mirrored supervisor: maybe_start for group ~p,"
319+
" overall ~p returned ~p", [Group, Overall, Else]),
320+
Else
311321
end, State};
312322

313323
handle_call({delete_child, Id}, _From, State = #state{delegate = Delegate,
@@ -384,17 +394,31 @@ tell_all_peers_to_die(Group, Reason) ->
384394
[cast(P, {die, Reason}) || P <- pg:get_members(Group) -- [self()]].
385395

386396
maybe_start(Group, TxFun, Overall, Delegate, ChildSpec) ->
397+
rabbit_log:debug("Mirrored supervisor: asked to consider starting, group: ~p", [Group]),
387398
try TxFun(fun() -> check_start(Group, Overall, Delegate, ChildSpec) end) of
388-
start -> start(Delegate, ChildSpec);
389-
undefined -> already_in_mnesia;
390-
Pid -> {already_in_mnesia, Pid}
399+
start ->
400+
rabbit_log:debug("Mirrored supervisor: check_start for group ~p,"
401+
" overall ~p returned 'do start'", [Group, Overall]),
402+
start(Delegate, ChildSpec);
403+
undefined ->
404+
rabbit_log:debug("Mirrored supervisor: check_start for group ~p,"
405+
" overall ~p returned 'undefined'", [Group, Overall]),
406+
already_in_mnesia;
407+
Pid ->
408+
rabbit_log:debug("Mirrored supervisor: check_start for group ~p,"
409+
" overall ~p returned 'already running (~p)'", [Group, Overall, Pid]),
410+
{already_in_mnesia, Pid}
391411
catch
392412
%% If we are torn down while in the transaction...
393413
{error, E} -> {error, E}
394414
end.
395415

396416
check_start(Group, Overall, Delegate, ChildSpec) ->
397-
case mnesia:wread({?TABLE, {Group, id(ChildSpec)}}) of
417+
rabbit_log:debug("Mirrored supervisor: check_start for group ~p, id: ~p", [Group, id(ChildSpec)]),
418+
ReadResult = mnesia:wread({?TABLE, {Group, id(ChildSpec)}}),
419+
rabbit_log:debug("Mirrored supervisor: check_start table ~s read for key ~p returned ~p",
420+
[?TABLE, {Group, id(ChildSpec)}, ReadResult]),
421+
case ReadResult of
398422
[] -> _ = write(Group, Overall, ChildSpec),
399423
start;
400424
[S] -> #mirrored_sup_childspec{key = {Group, Id},
@@ -427,6 +451,7 @@ start(Delegate, ChildSpec) ->
427451
apply(?SUPERVISOR, start_child, [Delegate, ChildSpec]).
428452

429453
stop(Group, TxFun, Delegate, Id) ->
454+
rabbit_log:debug("Mirrored supervisor: asked to stop, group: ~p, child ID: ~p", [Group, Id]),
430455
try TxFun(fun() -> check_stop(Group, Delegate, Id) end) of
431456
deleted -> apply(?SUPERVISOR, delete_child, [Delegate, Id]);
432457
running -> {error, running}

0 commit comments

Comments
 (0)