summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-10-09 15:43:22 +0100
committerMatthew Sackman <matthew@lshift.net>2009-10-09 15:43:22 +0100
commit1031b829a0e48910c4048beb41d95f339c4ce880 (patch)
treeafe61c72221bab7d1d049dbf8ebe30654d13e75a /src/rabbit.erl
parenta9149a4a4ab9e99de7d2571b74647fb625d9a6bf (diff)
downloadrabbitmq-server-git-1031b829a0e48910c4048beb41d95f339c4ce880.tar.gz
Prefetcher has priority over q1.
However, we actually assume that the prefetcher does no work. The only other possibility is to assume that the prefetcher always completes, which can lead to q1 being pointlessly evicted to disk. Also, we stop the prefetcher as soon as have to reduce our memory usage, and at that point everything should work out. So, when starting the prefetcher, we don't adjust the ram_msg_count, but as we drain or stop the prefetcher, we include the prefetched alphas in the ram_msg_count and then evict q1 to disk as necessary. Whilst this means we will have more msgs in RAM then we claim, the fact that we stop the prefetcher as soon as we have to reduce our memory usage saves us from ruin.
Diffstat (limited to 'src/rabbit.erl')
0 files changed, 0 insertions, 0 deletions