summaryrefslogtreecommitdiff
path: root/src/rabbit_mirror_queue_slave.erl
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-07-20 14:06:36 +0100
committerSimon MacMullen <simon@rabbitmq.com>2011-07-20 14:06:36 +0100
commita1c74bfcded0120ab3557d27b96371efe6bf8de5 (patch)
tree0709c510926e67d79042eb3a65d361ad93a75d66 /src/rabbit_mirror_queue_slave.erl
parent8c74daa5191e4fc5ef20af6621df7c3fecb474e9 (diff)
downloadrabbitmq-server-a1c74bfcded0120ab3557d27b96371efe6bf8de5.tar.gz
Flip flop again: revert b69bd74d8e17 and add the old master pid to the promoted message - we want to identify queues by pids in mgmt.
Diffstat (limited to 'src/rabbit_mirror_queue_slave.erl')
-rw-r--r--src/rabbit_mirror_queue_slave.erl12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 001b0d00..308cc211 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -422,8 +422,10 @@ promote_me(From, #state { q = Q = #amqqueue { name = QName },
sender_queues = SQ,
msg_id_ack = MA,
msg_id_status = MS,
- known_senders = KS }) ->
- rabbit_event:notify(queue_slave_promoted, [{name, QName}, {pid, self()}]),
+ known_senders = KS,
+ master_pid = MPid}) ->
+ rabbit_event:notify(queue_slave_promoted, [{pid, self()},
+ {old_pid, MPid}]),
rabbit_log:info("Mirrored-queue (~s): Promoting slave ~s to master~n",
[rabbit_misc:rs(QName), rabbit_misc:pid_to_string(self())]),
Q1 = Q #amqqueue { pid = self() },
@@ -893,10 +895,10 @@ maybe_store_ack(true, MsgId, AckTag, State = #state { msg_id_ack = MA,
%% We intentionally leave out the head where a slave becomes
%% unsynchronised: we assert that can never happen.
-set_synchronised(true, State = #state { q = #amqqueue{name = QName},
+set_synchronised(true, State = #state { master_pid = MasterPid,
synchronised = false }) ->
- rabbit_event:notify(queue_slave_synchronised, [{name, QName},
- {pid, self()}]),
+ rabbit_event:notify(queue_slave_synchronised, [{master_pid, MasterPid},
+ {pid, self()}]),
State #state { synchronised = true };
set_synchronised(true, State) ->
State;