graphprotocol / graphprotocol/graph-node
`BlockStore.chain_head_pointers` gets confused when the same chain is in multiple stores
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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- 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