attestantio/go-eth2-client

ResourceExhausted: grpc: received message larger than max

deni64k opened this issue · 8 comments

Hello,
I'm syncing a Prysm with a database using chaind, and I get these errors persistently.
I tried to hack MaxCallRecvMsgSize, but no luck.

Dec 16 16:22:26 chaind[110813]: {"level":"warn","service":"proposerduties","impl":"standard","epoch":8,"error":"failed to fetch proposer duties: call to GetDuties() failed: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5557752 vs. 4194304)","time":"2020-12-16T16:22:26Z","message":"Failed to update proposer duties"}
Dec 16 16:27:56 chaind[110813]: {"level":"warn","service":"proposerduties","impl":"standard","epoch":9,"error":"failed to fetch proposer duties: call to GetDuties() failed: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5557752 vs. 4194304)","time":"2020-12-16T16:27:56Z","message":"Failed to update proposer duties"}
Dec 16 16:32:40 chaind[110813]: {"level":"warn","service":"proposerduties","impl":"standard","epoch":10,"error":"failed to fetch proposer duties: call to GetDuties() failed: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5557752 vs. 4194304)","time":"2020-12-16T16:32:40Z","message":"Failed to update proposer duties"}
Dec 16 16:38:04 chaind[110813]: {"level":"warn","service":"proposerduties","impl":"standard","epoch":11,"error":"failed to fetch proposer duties: call to GetDuties() failed: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5557752 vs. 4194304)","time":"2020-12-16T16:38:04Z","message":"Failed to update proposer duties"}
mcdee commented

Can you try running prysm with the following additional options:

--rpc-max-page-size=100000 --grpc-max-msg-size=268435456

These should increase the maximum GRPC message size such that it can return the required data.

Just tried. Still getting the same error.

chaind version — tried the latest master and v0.1.4.
Prysm is v1.0.5.
The network is Pyrmont.

Though, just --grpc-max-msg-size=268435456 seemed to help. It's not clear yet.

mcdee commented

The --grpc-max-msg-size sets the maximum size of a single message. The --rpc-max-page-size sets the maximum number of entries returned per page for paged APIs. Both are required to obtain information from prysm. What error are you seeing with both of these flags enabled?

It's the same error when both flags are on.

mcdee commented

Please could you post your logs with these flags enabled? Specifically, the message:

Dec 16 16:22:26 chaind[110813]: {"level":"warn","service":"proposerduties","impl":"standard","epoch":8,"error":"failed to fetch proposer duties: call to GetDuties() failed: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5557752 vs. 4194304)","time":"2020-12-16T16:22:26Z","message":"Failed to update proposer duties"}

states the maximum message size 4194304, which is the default. If grpc-max-msg-size is set then this value should change.

Sorry, we've already switched to beaconchain-explorer for importing the chain into a database. Thanks for the hints!