diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-11-01 14:11:41 +0000 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-11-01 14:11:41 +0000 |
| commit | 2c5759864c3a094ee0831c4e076b6e9a5e65e46b (patch) | |
| tree | 115372a3cd98397692826ea38137602a29d53c72 /src | |
| parent | 9e1f0572d052463b7ab94d516c241c3e69191dca (diff) | |
| download | rabbitmq-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.erl | 9 |
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}} |
