graphprotocol / graphprotocol/graph-node
Indexing completely fails if firehose goes down
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 3.2k
- Fork
- 1.1k
- Merge medio
- 4g 1h
- PR unite (30g)
- 1
Descrizione
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
I'm running graph-node version 0.27.
My graph node is configured with both an RPC provider and a firehose source like so:
[chains.mainnet]
shard = "primary"
provider = [
{ label = "mainnet-default", transport = "rpc", url = "<url to rpc provider>", features = [] },
{ label = "firehose", details = { type = "firehose", url = "<url to firehose>" }},
]
If I start graph-node and then kill my firehose instance, all indexing seems to stop, even though the rpc provider is still available.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
- start a firehose grpc server
- start a graph node with a rpc and firehose provier
- deploy a subgraph and verify that graph node starts indexing
- kill the firehose server
- deploy a new subgraph
- see the new subgraph never starts indexing
What is the expected behavior?
I expect graph-node to gracefully fall back to the rpc provider when the firehose server isn't available (whether that's due to network issues or internal errors in the firehose server or anything else).
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema con la configurazione [chains.mainnet] contenente provider RPC e firehose: avvia l’indicizzazione, arresta il server firehose e distribuisci un nuovo subgraph. Esamina la selezione dei provider e il comportamento all’avvio dell’indicizzazione, quindi verifica che il nuovo subgraph inizi a indicizzare tramite RPC quando firehose non è disponibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- grpc, rust
- Ambito
- backend, distributed-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100