From 3c366ad07a208ca1ddd8a313b3592a4facb7a6db Mon Sep 17 00:00:00 2001 From: Kezhu Wang Date: Thu, 3 Jul 2025 21:08:30 +0800 Subject: [PATCH] Fix flaky TestReadOnly.testConnectionStateNewClient in ZooKeeper 3.9.3 ZOOKEEPER-4508 reports `SessionExpired` after exhausting session timeout in session establishment instead of endless retries. It is easy to get in this now with small session timeout. Besides above, `sessionTimeoutMs` should bigger than `connectionTimeoutMs`, while default `Timing::session()` and `Timing::connection()` are `2s` and `10s` respectively now. ``` // from CuratorZookeeperClient if (sessionTimeoutMs < connectionTimeoutMs) { log.warn( "session timeout [{}] is less than connection timeout [{}]", sessionTimeoutMs, connectionTimeoutMs); } ``` --- curator-test/src/main/java/org/apache/curator/test/Timing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/curator-test/src/main/java/org/apache/curator/test/Timing.java b/curator-test/src/main/java/org/apache/curator/test/Timing.java index e5d6d3443..0e6e3875b 100644 --- a/curator-test/src/main/java/org/apache/curator/test/Timing.java +++ b/curator-test/src/main/java/org/apache/curator/test/Timing.java @@ -33,7 +33,7 @@ public class Timing { private static final int DEFAULT_SECONDS = 10; private static final int DEFAULT_WAITING_MULTIPLE = 5; - private static final double SESSION_MULTIPLE = .25; + private static final double SESSION_MULTIPLE = 1.5; /** * Use the default base time