summaryrefslogtreecommitdiff
path: root/src/rabbit_amqqueue_process.erl
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-06-11 11:52:38 +0100
committerMatthew Sackman <matthew@lshift.net>2009-06-11 11:52:38 +0100
commit7ff061f10ee33832fba9864313a0191b20bea7b0 (patch)
tree2c7c36fc36c8c218a9c3297a459e9bd1e812271c /src/rabbit_amqqueue_process.erl
parent9083b091bb69e9b8d1d7c523c235e5793acfd572 (diff)
downloadrabbitmq-server-7ff061f10ee33832fba9864313a0191b20bea7b0.tar.gz
And suddenly it works. Testing showed that removing the crude limit UNSENT_MESSAGE_LIMIT made performance better. This then made me wonder if the unblock and notify_sent messages weren't getting through fast enough, and sure enough, using pcast is much better there. Also, turning on dbg:tpl showed that the common path in mixed_queue was to call publish_delivered (i.e. the message has been delivered to a consumer, we just need to record this fact). Making sure everything in there for the non-persistent, non-durable but disk-only mode is asynchronous also helped performance massively.
Diffstat (limited to 'src/rabbit_amqqueue_process.erl')
-rw-r--r--src/rabbit_amqqueue_process.erl6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 6ad4e4e6..d325346c 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -208,7 +208,7 @@ deliver_queue(Fun, FunAcc0,
true -> deliver_queue(Fun, FunAcc1, State3)
end
end;
- %% if IsMsgReady then (AckRequired and we've hit the limiter)
+ %% if IsMsgReady then we've hit the limiter
false when IsMsgReady ->
store_ch_record(C#cr{is_limit_active = true}),
NewConsumers = block_consumers(ChPid, RoundRobinTail),
@@ -245,8 +245,8 @@ attempt_immediate_delivery(none, _ChPid, Msg, State) ->
(AckRequired, false, State2) ->
{AckTag, State3} =
if AckRequired ->
- {ok, AckTag2, MS} = rabbit_mixed_queue:publish_delivered(Msg,
- State2 #q.mixed_state),
+ {ok, AckTag2, MS} = rabbit_mixed_queue:publish_delivered(
+ Msg, State2 #q.mixed_state),
{AckTag2, State2 #q { mixed_state = MS }};
true ->
{noack, State2}