diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-04-07 17:46:38 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-04-07 17:46:38 +0100 |
| commit | a5d175f5b4f5930739917ca418ce26be9d369ddd (patch) | |
| tree | 0b2773c635942a1d5f6ff9b835f965d412a24971 /src/bpqueue.erl | |
| parent | ed5ec5b25777a51e5baf1c501ed998d44031b1b1 (diff) | |
| download | rabbitmq-server-git-a5d175f5b4f5930739917ca418ce26be9d369ddd.tar.gz | |
Cleanup and improvements to the txn commit system. We now ensure: a) if the txn consists only of acks, we do sync those acks in the qi (assuming the acks were on disk already); b) txns in non-durable queues never cause fsyncs, even if the messages are persistent (or the acks are for persistent messages); c) transactions which contain no publishes can now overtake txns which do contain publishes; d) txns which do not need to be sync'd in the qi can overtake those that do need to be sync'd in the qi (eg a txn with only acks for non-persistent msgs can overtake a txn with persistent publishes). The overtakings are all safe as commit is a sync operation on a channel, and can only overtake other txns, not other operations in general.
Diffstat (limited to 'src/bpqueue.erl')
0 files changed, 0 insertions, 0 deletions
