Skip to content
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

disk/ad_slot: return better GRPC error message #1218

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

huww98
Copy link
Contributor

@huww98 huww98 commented Nov 17, 2024

What type of PR is this?

/kind cleanup

What this PR does / why we need it:

expected new message shown in Kubernetes events:
failed to reserve node i-xxxx for attach: still waiting for other disk(s) to finish attach/detach

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:


We should try our best to return proper error message to client before deadline, even if the request will timeout.
@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Nov 17, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: huww98
Once this PR has been reviewed and has the lgtm label, please assign mowangdk for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Nov 17, 2024
expected new message shown in Kubernetes events:
failed to reserve node i-xxxx for attach: still waiting for other disk(s) to finish attach/detach

Note that I don't specify GRPC status code intensionally, to let GRPC determine the code automatically based on error types.
@huww98
Copy link
Contributor Author

huww98 commented Nov 19, 2024

I've verified that I can see the expected Kubernetes event with this patch. However, this path is hard to trigger, because requests are not enqueued at the same time. when the currently attaching request is cancelled, the next one kicks in and issue AttachDisk call immediately, and likely receive Conflict response. So, these conflicting AttachDisk calls can be avoided.

Maybe something like #1190 can be helpful, but still not ideal. Because we don't want to delay the GRPC response to avoid potential timeout.

That said, this issue is not introduced by this PR. So I think this one is ready to go.

@huww98 huww98 marked this pull request as ready for review November 19, 2024 02:31
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants