graphprotocol / graphprotocol/graph-node

`BlockStore.chain_head_pointers` gets confused when the same chain is in multiple stores

Abierto
#3,286 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

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

Descripción

The method BlockStore.chain_head_pointers iterates over all shards slurping up information about chain head pointers without checking whether that data actually comes from the shard that is configured for any given chain. If a chain is present in more than one store (e.g., because it was moved to another shard) the information returned can be incorrect since old data might clobber new data.

The method needs to make sure that it only reads data from the correct shards. That's complicated a bit by the fact that we want to read all chain head pointers from a shard at once for performance, i.e. one query per shard, rather than one query per chain.

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

Empieza localizando BlockStore.chain_head_pointers y leyendo cómo reúne los punteros de cabecera de cadena en los distintos shards. Sigue cómo se representa el shard configurado de cada cadena y, después, verifica el resultado cuando una cadena existe en varios stores; se considera terminado cuando sigue habiendo una consulta por shard y los datos obsoletos no pueden sobrescribir los datos del shard configurado.

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

Evaluación

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.