WAGED Instance Capacity NPE prevents topstate handoff during rebalance failures

Abierto
#3,009 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
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
java

Línea de trabajo

Empieza rastreando bestPossibleCalcStage de WAGED durante los fallos de rebalanceo, centrándote en cómo se comprueba la asignación previa más adecuada contra instanceCapacityMap después de eliminar una instancia. Reproduce la secuencia provocando fallos de rebalanceo que excedan la capacidad, eliminando una instancia y apagando un nodo. Se considera completado cuando los estados de las particiones siguen calculándose y se produce la transferencia de topState sin un NPE.

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

Descripción

bug
Describe the bug

During rebalance failures, topState handoff will still occur among nodes that already have assigned replicas. This is because WAGED leverages the the previous best possible assignment when calculating the best possible partition state. However, if the cluster is in a state of rebalance failures and a node is removed, then WAGED will look at the previous best possible which contains an instance that is no longer in the cluster. This stale instance will trigger an NPE when we attempt to check its instance capacity as it no longer exists in the instanceCapacityMap. NPEs are part of the failure_type_to_propagate which cause the bestPossibleCalcStage to fully crash, meaning we do not calculate new states based on the previous assignment so no topState handoff will occur. This can cause a partition to go leaderless until rebalance failures are fixed and a new best possible is generated.

To Reproduce
  1. Trigger waged rebalance failures
    a. This can be done by adding more resources than can be assigned for cluster's capacity
  2. Remove an instance from the cluster
  3. Next time a node goes down, topState handoff will not occur
Expected behavior

Partition states are still calculated during rebalance failures using the old assignment so that top state handoff can still occur

Lenguaje dominante
Java
Estrellas
505
Forks
258
Merge medio
4 d 20 h
PR fusionados (30 d)
3

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 apache/helix

Todos los issues de apache/helix

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.