summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2020-04-09 10:42:18 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2020-04-09 16:20:49 -0500
commitdaf10824af695669dde61828414e8aff9e2de9d9 (patch)
treee90ddb827be8c53bd8a1695388a24910fa93cce5
parent56137f341e0fd22c7027a52b5c7e5eb1aa75aee0 (diff)
downloadcouchdb-daf10824af695669dde61828414e8aff9e2de9d9.tar.gz
Fix division by zero
-rw-r--r--src/couch_rate/src/couch_rate_limiter.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/couch_rate/src/couch_rate_limiter.erl b/src/couch_rate/src/couch_rate_limiter.erl
index 349da8d5a..6f852b1d8 100644
--- a/src/couch_rate/src/couch_rate_limiter.erl
+++ b/src/couch_rate/src/couch_rate_limiter.erl
@@ -135,6 +135,8 @@ budget(Id, #?STATE{} = State) ->
overloaded ->
%% decrease budget
{max(1, round(R * MultiplicativeFactor)), State};
+ underloaded when W == 0 orelse Latency == 0 ->
+ {max(1, round(MR)), State};
underloaded ->
ReadWriteRatio = min(1, MR / max(1, MW)),
SingleWrite = Latency / W,