graphprotocol / graphprotocol/graph-node

Make using an illegal enum value a deterministic error

Abierto
#3,417 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

error-handling
Lenguaje dominante
Rust
Estrellas
3.2k
Forks
1.1k
Merge medio
4 d 1 h
PR fusionados (30 d)
1

Descripción

If an entity uses a value for an enum that is not part of the enum, the subgraph fails with a non-deterministic error along the lines of

Mar 31 23:48:52.214 ERRO Subgraph failed with non-deterministic error: Error while processing block stream for a subgraph: store error: invalid input value for enum sgd249350.contract_topic: "CAMANAGER", retry_delay_s: 1800, attempt: 8, sgd: 249350, subgraph_id: QmXW8msFbPZq2RNUHDk1RK1KBkRnj8R48HF3pkzhM2vq4t, component: SubgraphInstanceManager

which leads to attempts to retry the operation every 30 minutes. Those retries are futile - the subgraph has no chance of making progress.

Guía de contribución

Abrir la 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.

Línea de trabajo

Comienza en la ruta de procesamiento de block-stream del subgrafo y en el manejo de errores del store alrededor de SubgraphInstanceManager; el issue no proporciona ninguna ruta de archivo ni de prueba. Reproduce un valor de enum fuera del enum declarado y verifica que se informe como un fallo determinista en lugar de reintentarse cada 30 minutos.

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

Evaluación

Stack tecnológico
graphql, rust
Área
backend, databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.