summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2015-01-30 11:07:51 +0000
committerSimon MacMullen <simon@rabbitmq.com>2015-01-30 11:07:51 +0000
commit03feb8acc1976e7c4292d1f0e518eac5f5f4e87a (patch)
treeaa068e94787b2bc6d13c4be03a7dbec057b96c35
parent05ceeb0361ec032f8653e1b2266acf357fd61f01 (diff)
downloadrabbitmq-server-git-03feb8acc1976e7c4292d1f0e518eac5f5f4e87a.tar.gz
Don't send reply until the BQ:init has taken place, and thus the master has started slaves if we are HA.
-rw-r--r--src/gm.erl1
-rw-r--r--src/rabbit_amqqueue_process.erl2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/gm.erl b/src/gm.erl
index 636e63e4b7..3364178925 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -633,6 +633,7 @@ handle_cast({?TAG, ReqVer, Msg},
State = #state { view = View,
members_state = MembersState,
group_name = GroupName }) ->
+ timer:sleep(100),
{Result, State1} =
case needs_view_update(ReqVer, View) of
true -> View1 = group_to_view(dirty_read_group(GroupName)),
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index a18df22522..16ead64af9 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -153,7 +153,6 @@ init_it2(Recover, From, State = #q{q = Q,
#amqqueue{} = Q1 ->
case matches(Recover, Q, Q1) of
true ->
- send_reply(From, {new, Q}),
ok = file_handle_cache:register_callback(
rabbit_amqqueue, set_maximum_since_use, [self()]),
ok = rabbit_memory_monitor:register(
@@ -161,6 +160,7 @@ init_it2(Recover, From, State = #q{q = Q,
set_ram_duration_target, [self()]}),
BQ = backing_queue_module(Q1),
BQS = bq_init(BQ, Q, TermsOrNew),
+ send_reply(From, {new, Q}),
recovery_barrier(Barrier),
State1 = process_args_policy(
State#q{backing_queue = BQ,