Flagsmith / Flagsmith/flagsmith-rust-client

Local evaluation silently drops identity overrides on large environments

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
8
Forks
7
Avg merge
1d 16h
Merged PRs (30d)
3

Description

Server-side SDKs cache the environment document for local evaluation, but the Rust 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

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the Rust client's local-evaluation environment fetch path and comparing it with the reference implementation in Flagsmith/flagsmith-nodejs-client#205. Verify that large environments produce the same identity-override results as remote evaluation, preserve single-page behavior, and log a warning with both durations when refresh takes longer than the configured interval.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.