-
Notifications
You must be signed in to change notification settings - Fork 191
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
Fix timeout on short CSI calls during attacher initialization #561
Fix timeout on short CSI calls during attacher initialization #561
Conversation
The same context.WithTimeout was used in different places when calling the CSI drivers. With recent changes, the code execution started taking longer and the context would hit its timeout on the 2nd driver call. This change use a separate context.WithTimeout for each CSI call
Welcome @Fricounet! |
Hi @Fricounet. Thanks for your PR. I'm waiting for a kubernetes-csi 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. 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. |
|
/ok-to-test |
@huww98 good point. I had not paid attention that both CSI connection calls were taking 1s each. But I think this might just be the backoff for a failed call to csi-lib-utils |
I've figured where this delay comes from and It is not an issue with the connection to the driver but with a change to the |
I've submitted a PR in kubernetes-csi/csi-lib-utils#175 to restore the previous behavior of the Probe. But this PR stays relevant IMHO because the timeout should be used for short csi calls and having it shared for 2 calls separated by potentially long running calls (Connection and Probe for instance) feels wrong. |
/lgtm You're right both about the ProbeForever being slower and that the timeout context should start just before corresponding call. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Fricounet, jsafrane The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
BTW, thanks a ton for testing the latest sidecars and reporting and even fixing the issue! |
And thanks for all our work on CSI and storage! |
What type of PR is this?
/kind bug
What this PR does / why we need it:
The same context.WithTimeout was used in different places when calling the CSI drivers in the main function. With recent changes, the code execution started taking longer and the context would hit its timeout on the
GetPluginCapabilities
driver call. For instance with when running with the azuredisk-csi-driver (I've seen this on the aws-ebs and the gcp-pd drivers too):This change uses a separate context.WithTimeout for each short CSI call using the default
csiTimeout
defined in main.Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: