streamingfast / firehose-ethereum

Ethereum on StreamingFast
Apache License 2.0
79 stars 24 forks source link

Sometimes, firehose sends block *below* the actual cursor block #59

Open sduchesneau opened 1 year ago

sduchesneau commented 1 year ago

From this graph-node log:

2023-04-07 17:54:49.380 DEBG 0 candidate triggers in this block, block_hash: 0xbdf42b9d117c0c0ac8d0882a957d703957f08fda98977ef2d902f9f3c5219bdc, block_number: 8791730, sgd: 536172, subgraph_id: QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM, component: SubgraphInstanceManager
2023-04-07 18:35:13.918 ERRO An error occurred while streaming blocks: status: Internal, message: "unexpected stream termination", details: [], metadata: MetadataMap { headers: {} }, provider: goerli-firehose-pinax, deployment: QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM, sgd: 536172, subgraph_id: QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM, component: FirehoseBlockStream
2023-04-07 18:35:14.418 INFO Blockstream disconnected, connecting, provider_err_count: 0, cursor: iuBX60B1d2impcutsaAcFKWwLpcyDl1mVAzmKhsT0d3y8iDMiZynBzJ1Ox2Bw6Gk3R3jSQul29iZE354-8VX6tHilew15CkxQXx5xYu68rTtLvqkOlkec7prDb7daNDcUj3RZQ3xfrBT4tXgMvHYZkAwMMV1KjK2jWsCpNBcIvUX7CY1w2n_esqH0vjFpIBJ-bcjEOPylCKiVj0pJRwPPMWDbvXNvA==, subgraph: QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM, start_block: 8784178, endpoint_uri: goerli-firehose-sf, provider: goerli-firehose-sf, deployment: QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM, sgd: 536172, subgraph_id: QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM, component: FirehoseBlockStream
2023-04-07 18:35:27.453 INFO Blockstream connected, provider: goerli-firehose-sf
2023-04-07 18:35:27.453 DEBG 0 candidate triggers in this block, block_hash: 0x787ac44d2913367a0c6286411f204be77175789888b430fc18757bfbf5520d5d, block_number: 8791700
2023-04-07 18:35:27.453 ERRO Subgraph writer failed, error: subgraph `QmS2GCuAkzH2kNDYe2pA9HkRTPLpC5DpbXRqhQW93exZEM` has already processed block `8791700`

What happened frmo the graph-node perspective:

I tried reproducing the behavior here without success.

The INFO level of logs does not allow me to confirm if the block 8791700 was actually sent from firehose, because it only prints at every "modulo 200".

It happened to at least 2 different subgraphs connecting to firehose, at exactly the same block.

Hypothesis:

matthewdarwin commented 1 year ago

Is this resolved now? There have been a bunch of changes since this issue was created in April.