[Bug] Firehose won't auto remove cursor until it's turned off

Open
#5,846 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
rust

Research direction

Start by reviewing the firehose endpoint settings in config.tmpl and reproducing the restart sequence described in the report, using the EthereumFirehoseBlockIngestor and BlockStore logs as the entry points. Compare behavior with firehose enabled versus disabled, and verify that recovery no longer requires manually commenting out the endpoint and restarting graph-node.

Written by the indexing model from the issue text.

Description

bug firehose Stale
Bug report

A scenario where firehose endpoint starts lagging. After recovered then firehose stopped ingesting blocks even after graph-node restarts.

Manual fix :
  1. Comment out firehose endpoint from config.tmpl file and restart graph-node by running RPC only.
  2. After up and running, uncomment firehose config.tmpl (Turn on firehose)
  3. Blocks starts ingesting again with firehose.
Hypothesis :

-Firehose won't auto remove cursor when it's turned on
-After turning off firehose, it shows the delete cursor log

Relevant log output
Logs when firehose is kept on even after restarts (generates every 30 seconds)

Feb 24 17:00:17.777 INFO Trying to reconnect the Blockstream after disconnect, cursor: , endpoint uri: firehose, network_name: bsc, provider: firehose, component: EthereumFirehoseBlockIngestor
Feb 24 17:00:17.787 INFO Starting GraphQL WebSocket server at: ws://localhost:8001, component: SubscriptionServer
Feb 24 17:00:17.873 INFO Blockstream connected, consuming blocks, network_name: bsc, provider: firehose, component: EthereumFirehoseBlockIngestor
-----------------------------------------------------------------------------------------
Logs when firehose is turned off

Feb 24 17:23:26.816 INFO Removed cursor for non-firehose chain, now cleaning shallow blocks, lower_bound: 46928163, network: bsc, component: BlockStore
-----------------------------------------------------------------------------------------
Logs when firehose is turned off then back on

Feb 24 17:27:51.787 INFO Trying to reconnect the Blockstream after disconnect, cursor: , endpoint uri: firehose, network_name: bsc, provider: firehose, component: EthereumFirehoseBlockIngestor

Feb 24 17:27:51.812 INFO Blockstream connected, consuming blocks, network_name: bsc, provider: firehose, component: EthereumFirehoseBlockIngestor
IPFS hash

No response

Subgraph name or link to explorer

No response

Some information to help us out
  • Tick this box if this bug is caused by a regression found in the latest release.
  • Tick this box if this bug is specific to the hosted service.
  • I have searched the issue tracker to make sure this issue is not a duplicate.
OS information

Linux

Dominant language
Rust
Stars
3.2k
Forks
1.1k
Avg merge
4d 1h
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from graphprotocol/graph-node

All issues in graphprotocol/graph-node

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.