fix(dockerFetcher): resolve deadlock issue in dockerFetcher open#12126
fix(dockerFetcher): resolve deadlock issue in dockerFetcher open#12126fuweid merged 2 commits intocontainerd:mainfrom
Conversation
Signed-off-by: jinda.ljd <jinda.ljd@alibaba-inc.com>
|
Hi @lujinda. Thanks for your PR. I'm waiting for a containerd member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
I'm going to push one more condition to check here |
Signed-off-by: Derek McGowan <derek@mcg.dev>
Thank you for the push. It appears that the Release call was overlooked when closing the body. |
|
/cherry-pick release/2.1 |
|
@fuweid: new pull request created: #12127 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Does this also affect 2.0? |
@brandond, no I do not believe so. The feature (multipart layer fetch) that introduced the deadlock issue was released in 2.1. |
We found that in some environments, after multiple failed attempts to pull images, new image pulls would get stuck. Upon investigation, we discovered that the containerd stack contained a large number of entries like:
We also observed some error messages in the containerd logs:
rpc error: code = Canceled desc = failed to pull and unpack image "xxxxxx": failed to copy: httpReadSeeker: failed open: context canceled.Through code analysis, we identified a potential deadlock risk in the open method of dockerFetcher.
Thx