filecoin-project/lotus

jsonrpc default queue seems too small

ribasushi opened this issue · 2 comments

Checklist

  • This is not a security-related bug/issue. If it is, please follow please follow the security policy.
  • I have searched on the issue tracker and the lotus forum, and there is no existing related issue or discussion.
  • I am running the Latest release, the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.
  • I did not make any code changes to lotus.

Lotus component

  • lotus daemon - chain sync
  • lotus fvm/fevm - Lotus FVM and FEVM interactions
  • lotus miner/worker - sealing
  • lotus miner - proving(WindowPoSt/WinningPoSt)
  • lotus JSON-RPC API
  • lotus message management (mpool)
  • Other

Lotus Version

All recent versions ( 1.29.1, master, etc )

Repro Steps

Run lotus chain export --recent-stateroots 1802 --skip-old-msgs /dev/null (done with calibnet for expedience)

/dev/null guarantees non-blocking instantaneous writes.

When the export is half-way done, observe tons of messages from the cli (not daemon) side:

...
2024-10-01T09:07:14.512Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.535Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.555Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.573Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.591Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.609Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.626Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.644Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
2024-10-01T09:07:14.661Z        WARN    rpc     go-jsonrpc@v0.6.0/websocket.go:677      frame executor queue is backlogged      {"queued": 256, "cap": 256}
...

Describe the Bug

Current default settings of the jsonrpc emitter seem incompatible with chain exporting mode.

Logging Information

See `Repro Steps` above

cc @rvagg as having worked in this area quite recently in #11920