graphprotocol / graphprotocol/graph-node

Error retries seem to lose the Firehose cursor

Aperta
#5,106 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug ops Stale
Lingua principale
Rust
Stelle
3.2k
Fork
1.1k
Merge medio
4g 1h
PR unite (30g)
1

Descrizione

We're seeing logs like this one frequently:

WARN Firehose selected first streamed block's parent should match subgraph start block, reverting to last know final chain segment,
firehose_start_block: #18746373 (5ca99c16915d2cd025e4fc1b3962c08eb75d171840d70116d2ff9204d3a1c5cc), subgraph_current_block: #18746373 (ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)

The subgraph will then revert by exactly 200 blocks which is a hardcoded value in FirehoseMapper::final_block_ptr_for.

I think this reproduces when a subgraph retries a deterministic error, so it may be that we're losing the current block hash in this retry process. Given that those retries happen frequently and reverting makes the retry process more expensive, it would be good to look into how we can avoid this situation.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando la gestione dei retry in caso di errori deterministici e il modo in cui l’hash del blocco corrente arriva a FirehoseMapper::final_block_ptr_for. Riproduci, se possibile, la discrepanza del cursore Firehose registrata nei log e verifica che i retry mantengano il cursore invece di attivare il revert hardcoded di 200 blocchi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
backend, blockchain
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.