diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-04-09 10:42:18 -0500 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-04-09 16:20:49 -0500 |
commit | daf10824af695669dde61828414e8aff9e2de9d9 (patch) | |
tree | e90ddb827be8c53bd8a1695388a24910fa93cce5 | |
parent | 56137f341e0fd22c7027a52b5c7e5eb1aa75aee0 (diff) | |
download | couchdb-daf10824af695669dde61828414e8aff9e2de9d9.tar.gz |
Fix division by zero
-rw-r--r-- | src/couch_rate/src/couch_rate_limiter.erl | 2 |
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, |