-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[27.1 backport] attach: don't return context cancelled error #5296
Merged
Conversation
This file contains 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
In 3f0d90a we introduced a global signal handler and made sure all the contexts passed into command execution get (appropriately) cancelled when we get a SIGINT. Due to that change, and how we use this context during `docker attach`, we started to return the context cancelation error when a user signals the running `docker attach`. Since this is the intended behavior, we shouldn't return an error, so this commit adds checks to ignore this specific error in this case. Also adds a regression test. Signed-off-by: Laura Brehm <laurabrehm@hey.com> (cherry picked from commit 66aa0f6) Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 27.0 #5296 +/- ##
==========================================
+ Coverage 61.05% 61.50% +0.45%
==========================================
Files 296 299 +3
Lines 20856 20866 +10
==========================================
+ Hits 12733 12834 +101
+ Misses 7205 7116 -89
+ Partials 918 916 -2 |
thaJeztah
approved these changes
Jul 25, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
renovate bot
added a commit
to earthly/dind
that referenced
this pull request
Aug 19, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker/docker](https://togithub.com/docker/docker) | patch | `27.1.1` -> `27.1.2` | --- ### Release Notes <details> <summary>docker/docker (docker/docker)</summary> ### [`v27.1.2`](https://togithub.com/moby/moby/releases/tag/v27.1.2) [Compare Source](https://togithub.com/docker/docker/compare/v27.1.1...v27.1.2) #### 27.1.2 For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones: - [docker/cli, 27.1.2 milestone](https://togithub.com/docker/cli/issues?q=is%3Aclosed+milestone%3A27.1.2) - [moby/moby, 27.1.2 milestone](https://togithub.com/moby/moby/issues?q=is%3Aclosed+milestone%3A27.1.2) - Deprecated and removed features, see [Deprecated Features](https://togithub.com/docker/cli/blob/v27.1.2/docs/deprecated.md). - Changes to the Engine API, see [API version history](https://togithub.com/moby/moby/blob/v27.1.2/docs/api/version-history.md). ##### Bug fixes and enhancements - Fix a regression that could result in a `ResourceExhausted desc = grpc: received message larger than max` error when building from a large Dockerfile. [moby/moby#48245](https://togithub.com/moby/moby/pull/48245) - CLI: Fix `docker attach` printing a spurious `context cancelled` error message. [docker/cli#5296](https://togithub.com/docker/cli/pull/5296) - CLI: Fix `docker attach` exiting on `SIGINT` instead of forwarding the signal to the container and waiting for it to exit. [docker/cli#5302](https://togithub.com/docker/cli/pull/5302) - CLI: Fix `--device-read-bps` and `--device-write-bps` options not taking effect. [docker/cli#5339](https://togithub.com/docker/cli/pull/5339) - CLI: Fix a panic happening in some cases while running a plugin. [docker/cli#5337](https://togithub.com/docker/cli/pull/5337) ##### Packaging updates - Update BuildKit to [v0.15.1](https://togithub.com/moby/buildkit/releases/tag/v0.15.1). [moby/moby#48246](https://togithub.com/moby/moby/pull/48246) - Update Buildx to [v0.16.2](https://togithub.com/docker/buildx/releases/tag/v0.16.2). [docker/docker-ce-packaging#1043](https://togithub.com/docker/docker-ce-packaging/pull/1043) - Update Go runtime to 1.21.13. [moby/moby#48301](https://togithub.com/moby/moby/pull/48301), [docker/cli#5325](https://togithub.com/docker/cli/pull/5325), [docker/docker-ce-packaging#1046](https://togithub.com/docker/docker-ce-packaging/pull/1046) - Remove unused `docker-proxy.exe` binary from Windows packages. [docker/docker-ce-packaging#1045](https://togithub.com/docker/docker-ce-packaging/pull/1045) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6am on monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/earthly/dind). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot
added a commit
to earthly/dind
that referenced
this pull request
Aug 19, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker/docker](https://togithub.com/docker/docker) | patch | `27.1.1` -> `27.1.2` | --- ### Release Notes <details> <summary>docker/docker (docker/docker)</summary> ### [`v27.1.2`](https://togithub.com/moby/moby/releases/tag/v27.1.2) [Compare Source](https://togithub.com/docker/docker/compare/v27.1.1...v27.1.2) #### 27.1.2 For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones: - [docker/cli, 27.1.2 milestone](https://togithub.com/docker/cli/issues?q=is%3Aclosed+milestone%3A27.1.2) - [moby/moby, 27.1.2 milestone](https://togithub.com/moby/moby/issues?q=is%3Aclosed+milestone%3A27.1.2) - Deprecated and removed features, see [Deprecated Features](https://togithub.com/docker/cli/blob/v27.1.2/docs/deprecated.md). - Changes to the Engine API, see [API version history](https://togithub.com/moby/moby/blob/v27.1.2/docs/api/version-history.md). ##### Bug fixes and enhancements - Fix a regression that could result in a `ResourceExhausted desc = grpc: received message larger than max` error when building from a large Dockerfile. [moby/moby#48245](https://togithub.com/moby/moby/pull/48245) - CLI: Fix `docker attach` printing a spurious `context cancelled` error message. [docker/cli#5296](https://togithub.com/docker/cli/pull/5296) - CLI: Fix `docker attach` exiting on `SIGINT` instead of forwarding the signal to the container and waiting for it to exit. [docker/cli#5302](https://togithub.com/docker/cli/pull/5302) - CLI: Fix `--device-read-bps` and `--device-write-bps` options not taking effect. [docker/cli#5339](https://togithub.com/docker/cli/pull/5339) - CLI: Fix a panic happening in some cases while running a plugin. [docker/cli#5337](https://togithub.com/docker/cli/pull/5337) ##### Packaging updates - Update BuildKit to [v0.15.1](https://togithub.com/moby/buildkit/releases/tag/v0.15.1). [moby/moby#48246](https://togithub.com/moby/moby/pull/48246) - Update Buildx to [v0.16.2](https://togithub.com/docker/buildx/releases/tag/v0.16.2). [docker/docker-ce-packaging#1043](https://togithub.com/docker/docker-ce-packaging/pull/1043) - Update Go runtime to 1.21.13. [moby/moby#48301](https://togithub.com/moby/moby/pull/48301), [docker/cli#5325](https://togithub.com/docker/cli/pull/5325), [docker/docker-ce-packaging#1046](https://togithub.com/docker/docker-ce-packaging/pull/1046) - Remove unused `docker-proxy.exe` binary from Windows packages. [docker/docker-ce-packaging#1045](https://togithub.com/docker/docker-ce-packaging/pull/1045) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6am on monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/earthly/dind). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.
closes #5294
- What I did
In #4993 we introduced a global signal handler and made sure all the contexts passed into command execution get (appropriately) cancelled when we get a
SIGINT
.Due to how we use this context in
docker attach
, this caused us to start returning a context cancelation error when a user signals the runningdocker attach
.Since this is the intended behavior, we shouldn't return an error, so this commit adds checks to ignore this specific error in this case.
Also adds a regression test.
- How to verify it
Run the added test:
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)