diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-07-07 17:28:12 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-07-07 17:28:12 +0100 |
| commit | b94bc69b0694ddafc81301006c3a09f9f81b39ad (patch) | |
| tree | 24415a60a45a9f3507f2d628723d51d899a77c5e /include | |
| parent | d4c8c48f33176426c5fcfaf0da2f7a76ef335f89 (diff) | |
| download | rabbitmq-server-git-b94bc69b0694ddafc81301006c3a09f9f81b39ad.tar.gz | |
lots of tuning and testing. Totally rewrote the to_disk_only_mode in mixed_queue so that it does batching. This means that it won't just flood the disk_queue with a billion messages, thus exhausting memory. Instead it does batching and uses tx_commit to demarkate the batches. This means the conversion happens as quickly as possible and does not exhaust memory. Dropped the memory alarms to 0.8. This is a good idea because converting queues between modes transiently takes a fair chunk of memory, and leaving the alarms up at 0.95 was proving too high making the mode transitions exhaust ram and swap to buggery.
However, there is a problem when going to disk_mode in mixed queue where messages in the queue are already on disk. A million calls to phantom deliver is not a good idea, and locks a CPU core at 100% for a very long time.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
