Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Local evaluation: a failed background flag config poll is logged at debug only

Abierto Apto para principiantes
#84 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
88/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
nodejs, typescript

Línea de trabajo

La corrección está en FlagConfigPoller.start() en packages/node/src/local/poller.ts, donde el bloque catch del update() periódico registra en debug. Compáralo con el log de error [Experiment] cohort poll failed en packages/node/src/local/cohort/poller.ts. Está terminado cuando un sondeo periódico fallido de la configuración de flags se registra a nivel de error, de modo que se muestre con el valor predeterminado LogLevel.Error.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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:

https://github.com/amplitude/experiment-node-server/blob/main/packages/node/src/local/cohort/poller.ts#L98

Current Behavior

FlagConfigPoller.start() catches the periodic update() failure and logs it at debug:

https://github.com/amplitude/experiment-node-server/blob/main/packages/node/src/local/poller.ts#L60-L62

} 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

  1. Experiment.initializeLocal(key) with default config, await client.start().
  2. Make https://flag.lab.amplitude.com unreachable (e.g. block it or drop the network).
  3. Wait past flagConfigPollingIntervalMillis (30s).
  4. Nothing is logged; evaluateV2 keeps 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
Lenguaje dominante
TypeScript
Estrellas
2
Forks
9
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de amplitude/experiment-node-server

Todos los issues de amplitude/experiment-node-server

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.