diff options
| -rw-r--r-- | src/mirrored_supervisor.erl | 8 | ||||
| -rw-r--r-- | src/rabbit_mirror_queue_misc.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_mirror_queue_slave.erl | 3 |
3 files changed, 9 insertions, 6 deletions
diff --git a/src/mirrored_supervisor.erl b/src/mirrored_supervisor.erl index 7a35245167..1ed6d71098 100644 --- a/src/mirrored_supervisor.erl +++ b/src/mirrored_supervisor.erl @@ -446,10 +446,10 @@ supervisor(Pid) -> with_exit_handler(fun() -> dead end, fun() -> delegate(Pid) end). write(Group, Overall, ChildSpec) -> - ok = mnesia:write( - #mirrored_sup_childspec{key = {Group, id(ChildSpec)}, - mirroring_pid = Overall, - childspec = ChildSpec}), + S = #mirrored_sup_childspec{key = {Group, id(ChildSpec)}, + mirroring_pid = Overall, + childspec = ChildSpec}, + ok = mnesia:write(?TABLE, S, write), ChildSpec. delete(Group, Id) -> diff --git a/src/rabbit_mirror_queue_misc.erl b/src/rabbit_mirror_queue_misc.erl index a2f4eec539..ff1d5815a1 100644 --- a/src/rabbit_mirror_queue_misc.erl +++ b/src/rabbit_mirror_queue_misc.erl @@ -203,13 +203,13 @@ start_child(Name, MirrorNode, Q, SyncMode) -> report_deaths(_MirrorPid, _IsMaster, _QueueName, []) -> ok; report_deaths(MirrorPid, IsMaster, QueueName, DeadPids) -> - log_info(QueueName, "~s ~s saw deaths of mirrors ~s~n", + log_info(QueueName, "~s ~s saw deaths of mirrors~s~n", [case IsMaster of true -> "Master"; false -> "Slave" end, rabbit_misc:pid_to_string(MirrorPid), - [[rabbit_misc:pid_to_string(P), $ ] || P <- DeadPids]]). + [[$ , rabbit_misc:pid_to_string(P)] || P <- DeadPids]]). log_info (QName, Fmt, Args) -> log(info, QName, Fmt, Args). log_warning(QName, Fmt, Args) -> log(warning, QName, Fmt, Args). diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl index e5c3adac06..8c550d952b 100644 --- a/src/rabbit_mirror_queue_slave.erl +++ b/src/rabbit_mirror_queue_slave.erl @@ -353,6 +353,9 @@ terminate_common(State) -> code_change(_OldVsn, State, _Extra) -> {ok, State}. +handle_pre_hibernate({not_started, _Q} = State) -> + {hibernate, State}; + handle_pre_hibernate(State = #state { backing_queue = BQ, backing_queue_state = BQS }) -> {RamDuration, BQS1} = BQ:ram_duration(BQS), |
