summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-12-20 16:18:38 +0000
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-12-20 16:18:38 +0000
commit1b4821894340f77603412ce88855ae15e852a4b0 (patch)
treeec991c6f00b4855352a8892e3abaa0b84325be0c /src
parent6ec37ddd63b1222debfd473e9abb84417806bd35 (diff)
downloadrabbitmq-server-git-1b4821894340f77603412ce88855ae15e852a4b0.tar.gz
the msg_store is now responsible for confirming messages
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue_process.erl4
-rw-r--r--src/rabbit_variable_queue.erl6
2 files changed, 3 insertions, 7 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 7ba26e5f8f..0e756d02e4 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -1016,8 +1016,8 @@ handle_cast({ack, Txn, AckTags, ChPid},
case Txn of
none -> ChAckTags1 = subtract_acks(ChAckTags, AckTags),
NewC = C#cr{acktags = ChAckTags1},
- NewState = ack_by_acktags(AckTags, State),
- {NewC, NewState};
+ {_AckdGuids, BQS1} = BQ:ack(AckTags, BQS),
+ {NewC, State#q{backing_queue_state = BQS1}};
_ -> BQS1 = BQ:tx_ack(Txn, AckTags, BQS),
{C#cr{txn = Txn},
State#q{backing_queue_state = BQS1}}
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 85216dfc97..6264255bcd 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -656,11 +656,7 @@ internal_fetch(AckRequired, MsgStatus = #msg_status {
ack(AckTags, State) ->
{Guids, State1} =
ack(fun msg_store_remove/3,
- fun ({_IsPersistent, Guid, _MsgProps}, State1) ->
- remove_confirms(gb_sets:singleton(Guid), State1);
- (#msg_status{msg = #basic_message { guid = Guid }}, State1) ->
- remove_confirms(gb_sets:singleton(Guid), State1)
- end,
+ fun (_, State0) -> State0 end,
AckTags, State),
{Guids, a(State1)}.