api/server/router/grpc: NewRouter: set correct MaxRecvMsgSize, MaxSendMsgSize#48242
Merged
thaJeztah merged 1 commit intomoby:masterfrom Jul 26, 2024
Merged
Conversation
…dMsgSize
[buildkit@29b4b1a537][1] applied changes to `buildkitd` to set the correct
defaults, which should be 16MB, but used the library defaults. Without that
change, builds using large Dockerfiles would fail with a `ResourceExhausted`
error;
=> [internal] load build definition from Dockerfile
=> => transferring dockerfile: 896.44kB
ERROR: failed to receive status: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (44865299 vs. 16777216)
However those changes were applied to the `buildkitd` code, which is the
daemon when running BuildKit standalone (or in a container through the
`container` driver). When running a build with the BuildKit builder compiled
into the Docker Engine, that code is not used, so the BuildKit changes did
not fix the issue.
This patch applies the same changes as were made in [buildkit@29b4b1a537][1]
to the gRPC endpoint provided by the dockerd daemon.
[1]: moby/buildkit@29b4b1a
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Member
Author
|
Should we have an integration-test added in the buildkit tests? Or any good suggestions for a test to be added to I guess I could try generating a 16MB Dockerfile ( |
crazy-max
approved these changes
Jul 26, 2024
vvoland
approved these changes
Jul 26, 2024
Member
Author
|
I'll bring this one in, but will have a look at a regression test in a follow-up |
Member
|
The error message does say that the limit is already 16MB (It probably comes from a different API). |
Member
Author
|
Oh 🙈 you're right! Hmm 🤔 any ideas what else changed then that makes build fail? (as reportedly older versions didn't have this issue) |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ResourceExhausted: grpc: received message larger than max (_ vs. 4194304)docker/buildx#2453api/server/router/grpc: NewRouter: set correct MaxRecvMsgSize, MaxSendMsgSize
buildkit@29b4b1a537 applied changes to
buildkitdto set the correct defaults, which should be 16MB, but used the library defaults. Without that change, builds using large Dockerfiles would fail with aResourceExhaustederror;However those changes were applied to the
buildkitdcode, which is the daemon when running BuildKit standalone (or in a container through thecontainerdriver). When running a build with the BuildKit builder compiled into the Docker Engine, that code is not used, so the BuildKit changes did not fix the issue.This patch applies the same changes as were made in buildkit@29b4b1a537 to the gRPC endpoint provided by the dockerd daemon.
- What I did
- How I did it
- How to verify it
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)