From 7fe56decc3f4d7a3b872590f906089b7bf52d689 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Wed, 5 Aug 2026 16:05:09 -0400 Subject: [PATCH 1/2] fix(sse): correct SSE-connected config polling interval from 15 hours to 15 minutes --- .../server/local/managers/EnvironmentConfigManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java b/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java index 5348da0..c151aa1 100644 --- a/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java +++ b/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java @@ -44,7 +44,8 @@ public final class EnvironmentConfigManager { private final String sdkKey; private final int pollingIntervalMS; - private static final int pollingIntervalSSEMS = 15 * 60 * 60 * 1000; + // Once SSE is connected, polling only acts as a backstop for missed messages + private static final int SSE_POLL_INTERVAL_MS = 15 * 60 * 1000; // 15 minutes private boolean pollingEnabled = true; public EnvironmentConfigManager(String sdkKey, LocalBucketing localBucketing, DevCycleLocalOptions options) { @@ -131,10 +132,10 @@ private Void handleSSEError(FaultEvent faultEvent) { private Void handleSSEStarted(StartedEvent startedEvent) { isSSEConnected = true; - DevCycleLogger.debug("SSE Connected - setting polling interval to " + pollingIntervalSSEMS); + DevCycleLogger.debug("SSE Connected - setting polling interval to " + SSE_POLL_INTERVAL_MS); scheduler.shutdown(); scheduler = setupScheduler(); - scheduler.scheduleAtFixedRate(getConfigRunnable, 0, pollingIntervalSSEMS, TimeUnit.MILLISECONDS); + scheduler.scheduleAtFixedRate(getConfigRunnable, 0, SSE_POLL_INTERVAL_MS, TimeUnit.MILLISECONDS); return null; } From 25c4380ad806f98cba695ba1a72d0d9c57ab3b19 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Thu, 6 Aug 2026 09:42:42 -0400 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../sdk/server/local/managers/EnvironmentConfigManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java b/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java index c151aa1..bf14bae 100644 --- a/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java +++ b/src/main/java/com/devcycle/sdk/server/local/managers/EnvironmentConfigManager.java @@ -45,7 +45,7 @@ public final class EnvironmentConfigManager { private final String sdkKey; private final int pollingIntervalMS; // Once SSE is connected, polling only acts as a backstop for missed messages - private static final int SSE_POLL_INTERVAL_MS = 15 * 60 * 1000; // 15 minutes + private static final int SSE_POLL_INTERVAL_MS = (int) TimeUnit.MINUTES.toMillis(15); // 15 minutes private boolean pollingEnabled = true; public EnvironmentConfigManager(String sdkKey, LocalBucketing localBucketing, DevCycleLocalOptions options) {