graphprotocol / graphprotocol/graph-node

[Bug] Moving network subgraph between shards causes empty query / wrong query

Open
#5,734 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Bug report

Note that this only happens for Graph Network Subgraph. Moving other subgraphs are fine
Currently it's QmUzRg2HHMpbgf6Q4VHKNDbtBEJnyp5JWCh2gUX9AV6jXv

Steps to reproduce :

  1. Sync network subgraph from scratch to any index nodes or shard
  2. After synced, try and do a local query using the network subgraph, any types of query that returns some data. Record the data
  3. Perform this graphman copy create --replace <sgdXX> <shard_name> <index_node>
  4. After copying is done, make sure the original copy is deleted or graphman unused remove. Then repeat Step 2 and compare the data
  5. Data returns : {"data":{"subgraphMetadataSearch":[]}}#

My theory : Moving between index nodes is not the issue, but moving between different shards is.
subgraphMetadataSearch returns empty so I think it's IPFS related.

GRAPH_NODE_VERSION="graphprotocol/graph-node:v0.35.1"
INDEXER_SERVICE_VERSION="ghcr.io/graphprotocol/indexer-service-rs:1.3.2"
INDEXER_AGENT_VERSION="ghcr.io/graphprotocol/indexer-agent:v0.21.9"
INDEXER_CLI_VERSION="ghcr.io/graphprotocol/indexer-cli:v0.21.9"
INDEXER_TAP_AGENT_VERSION="ghcr.io/graphprotocol/indexer-tap-agent:v1.7.3"
Relevant log output

No response

IPFS hash

QmUzRg2HHMpbgf6Q4VHKNDbtBEJnyp5JWCh2gUX9AV6jXv

Subgraph name or link to explorer

https://thegraph.com/explorer/subgraphs/DZz4kDTdmzWLWsV373w2bSmoar3umKKH9y82SUKr5qmp?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

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.

Research direction

Start by reproducing the issue with the Graph Network Subgraph: query subgraphMetadataSearch, run graphman copy create --replace across shards, remove the original copy, and query again. Compare the pre- and post-move results; done means the local query returns the same data after the subgraph is moved between shards.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, rust
Domain
backend-api-design, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.