summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-03-21 12:47:22 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-03-21 12:47:22 +0000
commit40cf496665c0968e27cee8775183ec221facdd28 (patch)
treea1e6f19e38c5484d682ca4fd0ba10422cf7af3ac
parent84e0ba7b3c20c64c0d3050421735c7046bc66834 (diff)
downloadrabbitmq-server-40cf496665c0968e27cee8775183ec221facdd28.tar.gz
Add a comment, and rename the thing to correspond more with words we use already.
-rw-r--r--src/rabbit_channel.erl13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 1b536b60..e047db60 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -1259,7 +1259,7 @@ handle_consuming_queue_down(QPid, State = #ch{queue_consumers = QCons,
remove ->
cancel_consumer(CTag, QName, StateN);
{recover, {NoAck, ConsumerPrefetch, Exclusive, Args}} ->
- case catch basic_consume(
+ case catch basic_consume( %% [0]
QName, NoAck, ConsumerPrefetch, CTag,
Exclusive, Args, true, StateN) of
{ok, StateN1} -> StateN1;
@@ -1268,6 +1268,11 @@ handle_consuming_queue_down(QPid, State = #ch{queue_consumers = QCons,
end
end, State#ch{queue_consumers = dict:erase(QPid, QCons)}, ConsumerTags).
+%% [0] There is a slight danger here that if a queue is deleted and
+%% then recreated again the reconsume will succeed even though it was
+%% not an HA failover. But the likelihood is not great and most users
+%% are unlikely to care.
+
cancel_consumer(CTag, QName, State = #ch{consumer_mapping = CMap}) ->
ok = send(#'basic.cancel'{consumer_tag = CTag,
nowait = true}, State),
@@ -1278,9 +1283,9 @@ cancel_consumer(CTag, QName, State = #ch{consumer_mapping = CMap}) ->
queue_down_consumer_action(CTag, CMap) ->
{_, {_, _, _, Args} = ConsumeSpec} = dict:fetch(CTag, CMap),
- case rabbit_misc:table_lookup(Args, <<"recover-on-ha-failover">>) of
- {bool, true} -> {recover, ConsumeSpec};
- _ -> remove
+ case rabbit_misc:table_lookup(Args, <<"cancel-on-ha-failover">>) of
+ {bool, false} -> {recover, ConsumeSpec};
+ _ -> remove
end.
handle_delivering_queue_down(QPid, State = #ch{delivering_queues = DQ}) ->