Local evaluation silently drops identity overrides on large environments

Open
#210 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
java
Domain
backend

Research direction

No Java source file or test is named in the issue. Start by tracing the Java client's local-evaluation environment fetch and refresh flow, then compare its pagination behavior with the Node.js reference implementation in issue #205. Done means all pages are cached, local and remote identity-override results agree, single-page behavior is unchanged, and slow refreshes log both durations.

Written by the indexing model from the issue text.

Description

Server-side SDKs cache the environment document for local evaluation, but the Java client today only ingests the first response page. For environments large enough to span multiple pages — typically those with many identity overrides — every override beyond the first page is missing from the local cache. Affected identities are evaluated against an incomplete environment and may receive flags that disagree with remote evaluation, with no error surfaced to the operator.

Acceptance criteria

  • Local evaluation returns the same identity-override results as remote evaluation regardless of how large the environment is.
  • Existing users on environments small enough to fit a single page see no behaviour or configuration change.
  • When fetching a full environment takes longer than the configured refresh interval, the SDK logs a warning naming both durations, so the operator knows to raise the interval or trim the environment.

Parent: Flagsmith/flagsmith#4664
Reference implementation: Flagsmith/flagsmith-nodejs-client#205

Dominant language
Java
Stars
28
Forks
22
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Flagsmith/flagsmith-java-client

All issues in Flagsmith/flagsmith-java-client

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.