-
Notifications
You must be signed in to change notification settings - Fork 434
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
pageserver: avoid spurious "bad state" logs/errors during shutdown #7912
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
jcsp
changed the title
Jcsp/issue 7911 ancestor states
pageserver: avoid spurious "bad state" logs/errors during shutdown
May 30, 2024
jcsp
added
c/storage/pageserver
Component: storage: pageserver
a/tech_debt
Area: related to tech debt
labels
May 30, 2024
3150 tests run: 3017 passed, 0 failed, 133 skipped (full report)Code coverage* (full report)
* collected from Rust tests only The comment gets automatically updated with the latest test results
8a4dccc at 2024-05-30T09:29:05.268Z :recycle: |
jcsp
force-pushed
the
jcsp/issue-7911-ancestor-states
branch
from
May 30, 2024 08:42
8009754
to
8a4dccc
Compare
koivunej
reviewed
May 30, 2024
koivunej
approved these changes
May 31, 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.
I don't see how this could be worse, but I am unsure how much better this is due to our too many checks at different levels and obfuscated error types.
5 tasks
jcsp
added a commit
that referenced
this pull request
May 31, 2024
## Problem In all cases, AncestorStopping is equivalent to Cancelled. This became more obvious in #7912 (comment) when updating these error types. ## Summary of changes - Remove AncestorStopping, always use Cancelled instead
a-masterov
pushed a commit
that referenced
this pull request
Jun 3, 2024
…7912) ## Problem - Initial size calculations tend to fail with `Bad state (not active)` Closes: #7911 ## Summary of changes - In `wait_lsn`, return WaitLsnError::Cancelled rather than BadState when the state is Stopping - Replace PageReconstructError's `Other` variant with a specific `BadState` variant - Avoid returning anyhow::Error from get_ready_ancestor_timeline -- this was only used for the case where there was no ancestor. All callers of this function had implicitly checked that the ancestor timeline exists before calling it, so they can pass in the ancestor instead of handling an error.
a-masterov
pushed a commit
that referenced
this pull request
Jun 3, 2024
## Problem In all cases, AncestorStopping is equivalent to Cancelled. This became more obvious in #7912 (comment) when updating these error types. ## Summary of changes - Remove AncestorStopping, always use Cancelled instead
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
Problem
Bad state (not active)
Closes: #7911
Summary of changes
wait_lsn
, return WaitLsnError::Cancelled rather than BadState when the state is StoppingOther
variant with a specificBadState
variantChecklist before requesting a review
Checklist before merging