From b7921652b58026ab84550003f0e3d4d020a3d265 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 31 Oct 2025 23:44:27 +0000 Subject: [PATCH 1/2] Initial plan From b9fce4e16085abbb41bf5945a9399355e0bd4051 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 31 Oct 2025 23:48:26 +0000 Subject: [PATCH 2/2] Remove Thread.sleep and readiness check references from Java FF docs Co-authored-by: msiebert <1504059+msiebert@users.noreply.github.com> --- .../tracking-methods/sdks/java/java-flags.mdx | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/pages/docs/tracking-methods/sdks/java/java-flags.mdx b/pages/docs/tracking-methods/sdks/java/java-flags.mdx index 95d46052a4..024703589b 100644 --- a/pages/docs/tracking-methods/sdks/java/java-flags.mdx +++ b/pages/docs/tracking-methods/sdks/java/java-flags.mdx @@ -61,11 +61,6 @@ MixpanelAPI mixpanel = new MixpanelAPI(localConfig); // Start polling for flag definitions mixpanel.getLocalFlags().startPollingForDefinitions(); -// Wait for flags to be ready (recommended) -while (!mixpanel.getLocalFlags().areFlagsReady()) { - Thread.sleep(100); -} - // This should be the 'key' of the feature flag from Mixpanel's UX. String flagKey = "sample-flag"; @@ -177,10 +172,6 @@ LocalFlagsConfig config = LocalFlagsConfig.builder() MixpanelAPI mixpanel = new MixpanelAPI(config); mixpanel.getLocalFlags().startPollingForDefinitions(); -while (!mixpanel.getLocalFlags().areFlagsReady()) { - Thread.sleep(100); -} - Map userContext = new HashMap<>(); userContext.put("distinct_id", "user-123"); @@ -205,23 +196,6 @@ mixpanel.close(); - Include any custom properties used in your flag targeting rules - Use consistent data types for context values across your application -### Readiness Check - -- For local evaluation, always check if flags are ready before evaluating using `areFlagsReady()` -- This prevents race conditions where you might evaluate flags before they've been loaded from the server -- Implement appropriate retry or wait logic until flags are ready - -```java -mixpanel.getLocalFlags().startPollingForDefinitions(); - -// Wait for flags to be ready -while (!mixpanel.getLocalFlags().areFlagsReady()) { - Thread.sleep(100); -} - -// Now safe to evaluate flags -``` - ### Resource Management - Initialize the `MixpanelAPI` once and reuse it throughout your application