summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-11-01 14:11:41 +0000
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-11-01 14:11:41 +0000
commit2c5759864c3a094ee0831c4e076b6e9a5e65e46b (patch)
tree115372a3cd98397692826ea38137602a29d53c72 /src
parent9e1f0572d052463b7ab94d516c241c3e69191dca (diff)
downloadrabbitmq-server-git-2c5759864c3a094ee0831c4e076b6e9a5e65e46b.tar.gz
only wait for disk syncs for persistent messages on durable queues
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue_process.erl9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index e78eb06f06..adae926c6e 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -453,9 +453,10 @@ attempt_delivery(#delivery{txn = none,
sender = ChPid,
message = Message,
msg_seq_no = MsgSeqNo},
- State = #q{backing_queue = BQ}) ->
- IsPersistent = Message#basic_message.is_persistent,
- case IsPersistent of
+ State = #q{backing_queue = BQ, q = Q}) ->
+ NeedsConfirming = Message#basic_message.is_persistent andalso
+ Q#amqqueue.durable,
+ case NeedsConfirming of
false -> rabbit_channel:confirm(ChPid, MsgSeqNo);
_ -> ok
end,
@@ -469,7 +470,7 @@ attempt_delivery(#delivery{txn = none,
BQ:publish_delivered(AckRequired, Message,
?BASE_MESSAGE_PROPERTIES
#message_properties {
- needs_confirming = IsPersistent },
+ needs_confirming = NeedsConfirming },
BQS),
{{Message, false, AckTag}, true,
State1#q{backing_queue_state = BQS1}}