graphprotocol / graphprotocol/indexer
[BUG] RPC timeouts and queue not processed
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 262
- Forks
- 148
- PR merge metrics
- No merged PRs in 30d
Description
When using the latest release v0.22.0 I'm getting this RPC timeout bellow. I've tried to switch between two different RPC providers but I get the same issue. I then downgraded to the previous version sha-6717d55 and the queue started to be processed and no more RPC timeouts
{"level":40,"time":1737559456574,"pid":1,"hostname":"indexer-agent-upgrade-0","name":"IndexerAgent","component":"Network","indexer":"0xbdfb5Ee5a2aBF4fc7bB1bD1221067aEf7f9dE491","protocolNetwork":"eip155:42161","operator":"0x8b34351aD4e6fB049c14ADfC90aC5ac8923Ba900","err":{"type":"IndexerError","message":"Failed to check for network pause","stack":"IndexerError: Failed to check for network pause\n at indexerError (/opt/indexer/packages/indexer-common/dist/errors.js:179:12)\n at /opt/indexer/packages/indexer-common/dist/indexer-management/monitor.js:830:60\n at runNextTicks (node:internal/process/task_queues:60:5)\n at process.processTimers (node:internal/timers:511:9)","code":"IE007","explanation":"https://github.com/graphprotocol/indexer/blob/main/docs/errors.md#ie007","cause":{"type":"Error","message":"missing response (requestBody=\"{\\\"method\\\":\\\"eth_blockNumber\\\",\\\"params\\\":[],\\\"id\\\":315,\\\"jsonrpc\\\":\\\"2.0\\\"}\", requestMethod=\"POST\", serverError={\"errno\":-32,\"code\":\"EPIPE\",\"syscall\":\"write\"}, url=\"https://arbone.rpc.pinax.network/v1/TOKEN/\", code=SERVER_ERROR, version=web/5.7.1)","stack":"Error: missing response (requestBody=\"{\\\"method\\\":\\\"eth_blockNumber\\\",\\\"params\\\":[],\\\"id\\\":315,\\\"jsonrpc\\\":\\\"2.0\\\"}\", requestMethod=\"POST\", serverError={\"errno\":-32,\"code\":\"EPIPE\",\"syscall\":\"write\"}, url=\"https://arbone.rpc.pinax.network/v1/TOKEN/\", code=SERVER_ERROR, version=web/5.7.1)\n at Logger.makeError (/opt/indexer/node_modules/@ethersproject/logger/lib/index.js:238:21)\n at Logger.throwError (/opt/indexer/node_modules/@ethersproject/logger/lib/index.js:247:20)\n at /opt/indexer/node_modules/@ethersproject/web/lib/index.js:260:36\n at step (/opt/indexer/node_modules/@ethersproject/web/lib/index.js:33:23)\n at Object.throw (/opt/indexer/node_modules/@ethersproject/web/lib/index.js:14:53)\n at rejected (/opt/indexer/node_modules/@ethersproject/web/lib/index.js:6:65)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at runNextTicks (node:internal/process/task_queues:64:3)\n at process.processTimers (node:internal/timers:511:9)","reason":"missing response","code":"SERVER_ERROR","requestBody":"{\"method\":\"eth_blockNumber\",\"params\":[],\"id\":315,\"jsonrpc\":\"2.0\"}","requestMethod":"POST","serverError":{"type":"Error","message":"write EPIPE","stack":"Error: write EPIPE\n at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16)\n at writevGeneric (node:internal/stream_base_commons:138:26)\n at Socket._writeGeneric (node:net:950:11)\n at Socket._writev (node:net:959:8)\n at doWrite (node:internal/streams/writable:588:12)\n at clearBuffer (node:internal/streams/writable:765:5)\n at Writable.uncork (node:internal/streams/writable:523:7)\n at ClientRequest._flushOutput (node:_http_outgoing:1151:10)\n at ClientRequest._flush (node:_http_outgoing:1120:22)\n at onSocketNT (node:_http_client:898:9)","errno":-32,"code":"EPIPE","syscall":"write"},"url":"https://arbone.rpc.pinax.network/v1/TOKEN/"}},"paused":false,"msg":"Failed to check for network pause, assuming it has not changed"}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with packages/indexer-common/dist/indexer-management/monitor.js at the failed network-pause check and trace the eth_blockNumber request shown in the log. Compare behavior between v0.22.0 and sha-6717d55, then reproduce against the reported RPC endpoint. Done means the queue is processed without the reported RPC timeout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, typescript
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100