Local evaluation silently drops identity overrides on large environments

Offen
#202 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
68/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
api, backend

Rechercherichtung

Verfolge den Abruf von Umgebungen für die lokale Auswertung im Python-Client und vergleiche sein Paging- und Aktualisierungsverhalten mit der Referenzimplementierung in Flagsmith/flagsmith-nodejs-client#205. Überprüfe, dass alle Umgebungsseiten zur lokalen Auswertung beitragen, Umgebungen mit nur einer Seite unverändert bleiben und langsame Aktualisierungen beide Zeitspannen protokollieren; vergleiche die Ergebnisse von Identitätsüberschreibungen lokal und remote.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Python
Sterne
24
Forks
12
Ø Merge
15 Std. 43 Min.
Gemergte PRs (30 T.)
4

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Flagsmith/flagsmith-python-client

Alle Issues in Flagsmith/flagsmith-python-client

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.