summaryrefslogtreecommitdiff
path: root/src/bpqueue.erl
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-07 17:46:38 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-07 17:46:38 +0100
commita5d175f5b4f5930739917ca418ce26be9d369ddd (patch)
tree0b2773c635942a1d5f6ff9b835f965d412a24971 /src/bpqueue.erl
parented5ec5b25777a51e5baf1c501ed998d44031b1b1 (diff)
downloadrabbitmq-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