diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-12-01 20:48:43 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-12-01 20:48:43 +0100 |
commit | 690af07be1a04af09fc046b52306ebdab19122e7 (patch) | |
tree | d40f1f4d5b8e2b5cdd1802eda30bc34f9927a116 | |
parent | b9f054f862e6fc7bdbf41b9404605e2a8ad6b249 (diff) |
Support floating point window size in DynamicThrottlePolicy
-rw-r--r-- | messagebus/src/main/java/com/yahoo/messagebus/DynamicThrottlePolicy.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/DynamicThrottlePolicy.java b/messagebus/src/main/java/com/yahoo/messagebus/DynamicThrottlePolicy.java index 1cfbefae29b..fca29695acc 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/DynamicThrottlePolicy.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/DynamicThrottlePolicy.java @@ -76,7 +76,9 @@ public class DynamicThrottlePolicy extends StaticThrottlePolicy { windowSize = Math.min(windowSize, pendingCount + windowSizeIncrement); } timeOfLastMessage = time; - return pendingCount < windowSize; + int windowSizeFloored = (int) windowSize; + boolean carry = numSent / (windowSize * resizeRate) < windowSize - windowSizeFloored; + return pendingCount < windowSizeFloored + (carry ? 1 : 0); } @Override |