perf: remove blocking calls from POI queries by MoonBoi9001 · Pull Request #6300 · graphprotocol/graph-node
Remove synchronous `block_on` call in `resolve_proof_of_indexing` which was blocking tokio worker threads while waiting for database queries. Before this change, each POI query blocked an entire tokio worker thread. After this change, POI queries properly yield to the async runtime while waiting for database I/O, allowing the connection pool to be fully utilized. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds a new index-node GraphQL query that searches a block range to find which block produced a given POI. This supports dispute investigation where an indexer may have submitted a POI for block N that actually corresponds to block X < N. The resolver fetches all poi2$ digest entries in a single DB call, batch fetches block hashes in 50k chunks, and runs ProofOfIndexingFinisher for each block until a match is found. Also adds network_for_deployment to the StatusStore trait and its implementation chain (SubgraphStore, Store) as a supporting method for resolving the chain store from a deployment hash. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters