graphprotocol / graphprotocol/graph-node

Indexing completely fails if firehose goes down

Offen
#4,115 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

firehose indexer experience Stale
Vorherrschende Sprache
Rust
Sterne
3.2k
Forks
1.1k
Ø Merge
4 T. 1 Std.
Gemergte PRs (30 T.)
1

Beschreibung

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.

  1. start a firehose grpc server
  2. start a graph node with a rpc and firehose provier
  3. deploy a subgraph and verify that graph node starts indexing
  4. kill the firehose server
  5. deploy a new subgraph
  6. 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).

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit der Konfiguration [chains.mainnet], die sowohl RPC- als auch firehose-Provider enthält: Starte die Indizierung, stoppe den firehose-Server und deploye einen neuen Subgraphen. Untersuche die Provider-Auswahl und das Verhalten beim Start der Indizierung und verifiziere anschließend, dass der neue Subgraph mit der Indizierung über RPC beginnt, wenn firehose nicht verfügbar ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
grpc, rust
Bereich
backend, distributed-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.