Skip to content

[Bug] Extended Blocks check fails with substreams endpoints #5837

Open
@abarmat

Description

@abarmat

Bug report

Explanation

  • Since the check for Extended Blocks was introduced, substreams-based subgraphs stopped syncing.
  • I realized that the substream provider was not being added and rejected on the Extended Block check meant for Firehose.
  • The substream endpoint I used was Pinax (Mainnet).

Expected Behaviour

As far as I know, the Extended Block check should only happen for Firehose.

Mitigation

I fixed it by adding the chain to GRAPH_NODE_FIREHOSE_DISABLE_EXTENDED_BLOCKS_FOR_CHAINS.

Root Cause

The ExtendedBlocksCheck calls adapter.provides_extended_blocks(), however the adapter for Substreams is the same as Firehose and performs the same check instead of returning OK(true) like the EthereumNetworkAdapter. The request breaks the Substreams endpoint and returns the error posted in the log below.

These are the adapters for each service seen in the code:

pub struct Networks {
    pub adapters: Vec<AdapterConfiguration>,
    pub rpc_provider_manager: ProviderManager<EthereumNetworkAdapter>,
    pub firehose_provider_manager: ProviderManager<Arc<FirehoseEndpoint>>,
    pub substreams_provider_manager: ProviderManager<Arc<FirehoseEndpoint>>,
}

Relevant lines

Relevant log output

ERRO Failed to check if provider 'ethereum-substreams-pinax' supports extended blocks on chain 'mainnet': status: Internal, message: "protocol error: received message with invalid compression flag: 52 (valid flags are 0 and 1) while receiving response with status: 404 Not Found", details: [], metadata: MetadataMap { headers: {"server": "nginx/1.26.3", "date": "Wed, 19 Feb 2025 01:16:33 GMT", "content-type": "text/plain; charset=utf-8", "content-length": "19", "vary": "Accept-Encoding", "vary": "Origin", "x-content-type-options": "nosniff"} }

IPFS hash

QmbztMDqPDBDuBfmFxrn5yxtrvEVGYhHzEahsQW9EdMNEf

Subgraph name or link to explorer

https://thegraph.com/explorer/subgraphs/35AYsvtJ7SjD93JZcjHK7KTSFyC8h74YHkg2hTxRsRer?view=Query&chain=arbitrum-one

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions