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

Lock Coordination & Safe Rollout Boundaries

Abierto
#126 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
typescript

Línea de trabajo

Empieza revisando el issue bloqueado #125 y después sigue las rutas del SDK para la obtención inicial de la configuración y el sondeo continuo que detectan cambios en ETag. Identifica dónde se invoca onChange y dónde debería ubicarse LockCoordinator; se considera terminado cuando el arranque omite el bloqueo, la recarga en caliente adquiere el bloqueo de rollout, rolloutKey toma os.hostname() como valor predeterminado y la configuración se vuelve a obtener antes de onChange.

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

Descripción

enhancement
Description

Implement the LockCoordinator to enforce safe rollout boundaries across the cluster. Before the SDK applies a newly detected ETag, it must acquire a distributed semaphore lock based on the rolloutLimit and rolloutKey (defaulting to os.hostname()). Critically, the SDK must completely bypass this locking mechanism during the initial application boot to prevent deployment deadlocks. Furthermore, once a lock is successfully acquired during a hot-reload phase, the SDK must perform a fresh re-fetch of the configuration to ensure it does not apply a stale payload that was superseded while it was waiting in the lock queue.

Acceptance criteria
  • The initial configuration fetch during application boot completely bypasses lock acquisition.

  • Detecting a change during continuous polling triggers an attempt to acquire a distributed lock before executing onChange.

  • If no rolloutKey is provided, the lock defaults to os.hostname().

  • Immediately after acquiring a lock, the SDK successfully re-fetches the configuration before passing it to onChange.

Blocked by

Issue #125

User stories covered: 4, 5, 11

Lenguaje dominante
TypeScript
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

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 MapColonies/config

Todos los issues de MapColonies/config

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.