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
osd: fix repair when recorded digest is wrong #5468
Merged
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
If an individual object is clean, record it in the missing_digest map. If not, leave it out. This lets us drop the old condition that only recorded any digests if the entire scrub chunk was clean. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit c39e0e5)
We cannot assume that the auth info has the "known" digest; all replicas may have a matching digest that does not match the oi, or we may choose a different auth info for some other reason. Verify that the digest matches the oi before calling it "known". Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit 546d1c7)
The scrubber.seed value is set based on the peer feature; check for that too explicitly, and assert the scrubber.seed value matches. No change in behavior here. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit e34d31b)
This is a better place for it. While we are here, change the wording to clearly call out the 'recorded' digest (from object_info_t) vs the 'on disk' digest (what we observed during scrub). Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit cf349ff)
If the recorded digest does not match the replicas, and all replicas match, then (on repair) fix the recorded digest. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit f581fec)
If we really can't find a suitable auth, log an error. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit a476d8f)
The fallback behavior was printing a promising message but then doing a 'continue' and not actually scrubbing the object. Instead, fall back to a less-bad auth inside be_select_auth_object. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit b597db5)
We may have an error to log even though the authoritative map is empty: when we have a digest that doesn't match all replicas. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit d23766b)
We may log more than one of these in a scrubmap; make sure they are not concatenated. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit 2b3dd1b)
ghost
changed the title
Wip 12577 hammer
osd: Inconsistent PGs that ceph pg repair does not fix
Aug 4, 2015
dzafman
changed the title
osd: Inconsistent PGs that ceph pg repair does not fix
osd: fix repair when recorded digest is wrong
Aug 4, 2015
ghost
pushed a commit
that referenced
this pull request
Aug 30, 2015
osd: fix repair when recorded digest is wrong Reviewed-by: Loic Dachary <ldachary@redhat.com>
This pull request was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
http://tracker.ceph.com/issues/12583
This is a backport of wip-digest-repair branch from original pull request #4365.