summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-12-01 20:48:43 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-12-01 20:48:43 +0100
commit690af07be1a04af09fc046b52306ebdab19122e7 (patch)
treed40f1f4d5b8e2b5cdd1802eda30bc34f9927a116 /messagebus
parentb9f054f862e6fc7bdbf41b9404605e2a8ad6b249 (diff)
Support floating point window size in DynamicThrottlePolicy
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/DynamicThrottlePolicy.java4
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