From a887b655f8790b4fae9e4f09a26ab3a7d64c78cb Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Tue, 17 Feb 2026 14:33:25 +0200 Subject: [PATCH] Fix flaky TbRateLimitsTest timing tolerance Increased timing tolerance gap from 500ms to 1000ms in both testRateLimitWithGreedyRefill and testRateLimitWithIntervalRefill to prevent ConditionTimeoutException caused by scheduling jitter. Co-Authored-By: Claude Opus 4.6 --- .../thingsboard/server/common/msg/tools/TbRateLimitsTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/message/src/test/java/org/thingsboard/server/common/msg/tools/TbRateLimitsTest.java b/common/message/src/test/java/org/thingsboard/server/common/msg/tools/TbRateLimitsTest.java index 39840d8f1c..0ec7ce0d76 100644 --- a/common/message/src/test/java/org/thingsboard/server/common/msg/tools/TbRateLimitsTest.java +++ b/common/message/src/test/java/org/thingsboard/server/common/msg/tools/TbRateLimitsTest.java @@ -42,7 +42,7 @@ public class TbRateLimitsTest { assertThat(rateLimits.tryConsume()).as("new token is available").isFalse(); int expectedRefillTime = (int) (((double) period / capacity) * 1000); - int gap = 500; + int gap = 1000; for (int i = 0; i < capacity; i++) { await("token refill for rate limit " + rateLimitConfig) @@ -71,7 +71,7 @@ public class TbRateLimitsTest { assertThat(rateLimits.tryConsume()).as("new token is available").isFalse(); int expectedRefillTime = period * 1000; - int gap = 500; + int gap = 1000; await("tokens refill for rate limit " + rateLimitConfig) .pollInterval(new FixedPollInterval(10, TimeUnit.MILLISECONDS))