Local evaluation: a failed background flag config poll is logged at debug only
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 88/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- nodejs, typescript
- Ambito
- observability
Direzione di ricerca
La correzione si trova in FlagConfigPoller.start() in packages/node/src/local/poller.ts, dove il blocco catch di update() periodico registra a livello debug. Confrontalo con il log di errore [Experiment] cohort poll failed in packages/node/src/local/cohort/poller.ts. È completato quando un poll periodico fallito della configurazione dei flag viene registrato a livello di errore, così da essere visibile con il valore predefinito LogLevel.Error.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Expected Behavior
When the local evaluation client's background poll for flag configs fails, the failure is logged at a level that reaches the application's logs under the default logLevel (LogLevel.Error), the same way CohortPoller already reports a failed cohort poll:
Current Behavior
FlagConfigPoller.start() catches the periodic update() failure and logs it at debug:
} catch (e) {
this.logger.debug('[Experiment] flag config update failed', e);
}
With the default LogLevel.Error the line never appears, so a client that stopped receiving flag updates keeps serving its last configs silently. Only the initial poll in start() is logged at error. The only way to see the periodic failure today is logLevel: LogLevel.Debug, which also emits a line per poll and per evaluateV2 call.
This matters because for local evaluation the poll is the only path a dashboard change (including turning a flag off) reaches the process.
Possible Solution
Log the periodic poll failure at error, matching [Experiment] cohort poll failed in the same package. One-line change in packages/node/src/local/poller.ts; PR to follow.
Steps to Reproduce
Experiment.initializeLocal(key)with default config,await client.start().- Make
https://flag.lab.amplitude.comunreachable (e.g. block it or drop the network). - Wait past
flagConfigPollingIntervalMillis(30s). - Nothing is logged;
evaluateV2keeps returning results from the last successful poll.
Environment
- JS Server SDK Version: 1.13.6 (same on
main) - Installation Method: npm / pnpm
- Runtime: Node 24
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di amplitude/experiment-node-server
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
user_properties from ExperimentUser are not forwarded to exposure/assignment eventsForse già presa @FabricioFFC l’ha presa 265 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
amplitude/experiment-node-server#72 · 3 commenti ·
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
amplitude/experiment-node-server#69 · 1 commento ·
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
amplitude/experiment-node-server#38 · 2 commenti · 3 reazioni ·
-
ssr-demo needs react 18Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
Tutte le issue di amplitude/experiment-node-server
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
area:web p3
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Lets-Parley/Parley#912 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
wealthfolio/wealthfolio#2376 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
be-BOP-io-SA/be-BOP#2817 ·
I maintainer di solito rispondono entro 5 giorni
-
documentation good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
sno-ai/sno-station#149 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno