graphprotocol / graphprotocol/graph-node
`BlockStore.chain_head_pointers` gets confused when the same chain is in multiple stores
Personne n'a encore pris cette issue.
- Langage dominant
- Rust
- Étoiles
- 3.2k
- Forks
- 1.1k
- Merge moyen
- 4 j 1 h
- PR mergées (30 j)
- 1
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par localiser BlockStore.chain_head_pointers et lire comment il rassemble les pointeurs de tête de chaîne sur plusieurs shards. Suivez la manière dont le shard configuré de chaque chaîne est représenté, puis vérifiez le résultat lorsqu'une chaîne existe dans plusieurs stores ; le travail est terminé lorsqu'une seule requête par shard subsiste et que des données obsolètes ne peuvent pas écraser les données du shard configuré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- databases, distributed-systems
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100