-
Notifications
You must be signed in to change notification settings - Fork 41.4k
clean up executing request on panic #97206
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
Conversation
Skipping CI for Draft Pull Request. |
/assign @MikeSpreitzer @yue9944882 |
/triage accepted |
/test all |
@tkashem : good catch here. And there is more work to do in the same vein. Everything important that callers intend to get done after the request executes should be done in a |
@MikeSpreitzer thanks for the review, I will address all of the cases above. |
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.
I would say "shares" rather than "share". Conventionally "shares" are relative things whose meaning is determined by the number of shares held by other parties --- think "shares" of stock. OTOH, "share" sounds more like an absolute thing --- "my share of the heist is 25%".
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.
Let's use the symbolic constant here rather than repeating the literal for the priority level name.
@MikeSpreitzer I did a little bit of refactoring, let me know if it looks good to you. |
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.
There is no particular "grace" here, it is just waiting for Run
to complete.
I do not like modifying the QueueSet API for this, it makes this a bigger change than necessary. A smaller change would be to modify configController::startRequest to return the QueueSet involved. But... I really do not like adding a mutex Lock operation to the path of every request. I think a better solution was the previous approach just modified to initialize that "idle" variable to |
@MikeSpreitzer this is my preference too, but we would still need the named return value if I am not mistaken. |
#97398 shows how to fix the bug without a named return field. |
@MikeSpreitzer thanks for sharing it, I misunderstood - I thought the ask was to return the value of |
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
Thanks!
/assign @lavalamp |
} | ||
execFn() | ||
return req.qs.finishRequestAndDispatchAsMuchAsPossible(req) | ||
func() { |
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.
thanks
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deads2k, MikeSpreitzer, tkashem 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 |
/retest |
1 similar comment
/retest |
…6-upstream-release-1.20 Automated cherry pick of #97206: clean up executing request on panic
What type of PR is this?
/kind bug
What this PR does / why we need it:
clean up executing request on panic
Special notes for your reviewer:
Does this PR introduce a user-facing change?: