summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-11-12 12:07:59 +0000
committerMatthew Sackman <matthew@lshift.net>2009-11-12 12:07:59 +0000
commit170dcdf440b21b90a0250c9f35e15b5f998a98a8 (patch)
treec9cc5811de3cc239576bc346c408781308cea70f
parent72f90d15deb6e60f34ff6771fa7f3c70398f0a5d (diff)
downloadrabbitmq-server-git-170dcdf440b21b90a0250c9f35e15b5f998a98a8.tar.gz
Err, as I said in the last commit, make sure the desired queue length isn't < 0.
-rw-r--r--src/rabbit_memory_monitor.erl9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_memory_monitor.erl b/src/rabbit_memory_monitor.erl
index 649aec4943..80fa7edf4f 100644
--- a/src/rabbit_memory_monitor.erl
+++ b/src/rabbit_memory_monitor.erl
@@ -228,10 +228,11 @@ internal_update(State = #state{memory_limit = Limit,
0 -> infinity;
_ -> Sum / Count
end,
- DesiredDurationAvg1 = case AvgDuration of
- infinity -> infinity;
- AvgQueueDuration -> AvgQueueDuration * MemoryRatio
- end,
+ DesiredDurationAvg1 =
+ case AvgDuration of
+ infinity -> infinity;
+ AvgQueueDuration -> lists:max([0, AvgQueueDuration * MemoryRatio])
+ end,
State1 = State#state{memory_ratio = MemoryRatio,
desired_duration = DesiredDurationAvg1},