summaryrefslogtreecommitdiff
path: root/generate_app
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-07-17 13:03:17 +0100
committerMatthew Sackman <matthew@lshift.net>2009-07-17 13:03:17 +0100
commitb1f86bacbee9d1d3a61dd8f03d7ea3b47484ed52 (patch)
treef297825a1f66d3c6c885dfb0e846c9ae1705d5ac /generate_app
parentc196178600ced8eec833902be30309d076f98e4a (diff)
downloadrabbitmq-server-git-b1f86bacbee9d1d3a61dd8f03d7ea3b47484ed52.tar.gz
The use of the in-memory run length queue in disk_only queue is considered a show stopper, and rightly so. I personally don't like the idea of adding additional tokens to the disk queue to indicated queue switch because it can substantially increase the number of OS calls and writes and reads from disk and, eg, getting queue length right and memory size right is made a fair bit more complex. So abandon the two queues idea.
Instead, store the persistent flag in the stop byte on disk. Then on startup, the persistent flag turns up in the MsgLocations ets table. This is all done and all tests pass. The next stage is that on start up, go through each queue and just wipe out non-persistent messages. This should be pretty fast. Then call the shuffle_up function as is currently being done. This will eliminate the gaps in sequences. This really should be enough. Then the mixed_queue can go back to just talking about a single queue.
Diffstat (limited to 'generate_app')
0 files changed, 0 insertions, 0 deletions