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

scrub bogus results when missing a clone #5783

Merged
merged 22 commits into from Oct 30, 2015

Conversation

Projects
None yet
4 participants
@dzafman
Copy link
Member

dzafman commented Sep 2, 2015

Fixes: 12738
Fixes: 12740

@dzafman dzafman force-pushed the dzafman:wip-12738 branch from 40f59b7 to 19a11a9 Sep 9, 2015

@dzafman dzafman changed the title DNM: scrub bogus results when missing a clone scrub bogus results when missing a clone Sep 9, 2015

@dzafman

This comment has been minimized.

Copy link
Member Author

dzafman commented Sep 9, 2015

Tests passed.

@dzafman dzafman changed the title scrub bogus results when missing a clone DNM: scrub bogus results when missing a clone Sep 10, 2015

@dzafman

This comment has been minimized.

Copy link
Member Author

dzafman commented Sep 10, 2015

I noticed an issue with this I want to fix and test again.

@tchaikov

This comment has been minimized.

Copy link
Contributor

tchaikov commented Sep 10, 2015

@dzafman it turns out to be longer than i expected to review this pull request. i will finish it tomorrow. this method has more than 1k LOC...

@tchaikov

This comment has been minimized.

Copy link
Contributor

tchaikov commented Sep 14, 2015

thanks @dzafman , your example helps a lot. it's like matching several concatenated zippers with missing teeth. .

@dzafman dzafman force-pushed the dzafman:wip-12738 branch from 19a11a9 to 508ef3c Sep 30, 2015

@ghost

This comment has been minimized.

Copy link

ghost commented Sep 30, 2015

@dzafman the bot false negative is hopefully the last occurrence of http://tracker.ceph.com/issues/13176 :-)

@dzafman dzafman assigned athanatos and unassigned tchaikov Sep 30, 2015

@dzafman dzafman removed this from the infernalis milestone Sep 30, 2015

@dzafman dzafman force-pushed the dzafman:wip-12738 branch from 508ef3c to 5b4b124 Sep 30, 2015

@dzafman dzafman referenced this pull request Oct 12, 2015

Closed

DNM: Wip 12738 12740 #6231

@dzafman dzafman force-pushed the dzafman:wip-12738 branch from 5b4b124 to 76c20bd Oct 15, 2015

@dzafman dzafman added the needs-qa label Oct 15, 2015

@dzafman dzafman force-pushed the dzafman:wip-12738 branch from 76c20bd to 0ac3dbb Oct 15, 2015

@dzafman

This comment has been minimized.

Copy link
Member Author

dzafman commented Oct 15, 2015

@tchaikov @athanatos All updates now pushed here.

dzafman added some commits Aug 26, 2015

osd: Make the _scrub routine produce good output and detect errors pr…
…operly

Catch decode errors so osd doesn't crash on corrupt OI_ATTR or SS_ATTR
Use boost::optional<> to make current state clearer
Create next_clone as needed using head/curclone
Add equivalent logic after getting to end of scrubmap.objects

Fixes: #12738

Signed-off-by: David Zafman <dzafman@redhat.com>
osd: Better SnapSet scrub checking (find issues instead of asserting)
Signed-off-by: David Zafman <dzafman@redhat.com>
osd: Additional _scrub() check for snapset inconsistency
Signed-off-by: David Zafman <dzafman@redhat.com>
osd: Don't crash if OI_ATTR attribute is missing or corrupt
Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: White space fixes
Signed-off-by: David Zafman <dzafman@redhat.com>
test: Test scrubbing of snapshot problems
Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: For corrupt objectstores, don't abort listing …
…on errors

Signed-off-by: David Zafman <dzafman@redhat.com>
test: Add some clones to ceph-objectstore-tool test
Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: Add undocumented clear-snapset command for tes…
…ting

Add test cases using new feature to corrupt SnapSet

Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: Improve some error messages
Signed-off-by: David Zafman <dzafman@redhat.com>
tools/rados: Improve xattr import handling so future internal xattrs …
…ignored

Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: Improve object spec error handling
Add test cases

Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: Add new remove-clone-metadata object op
Fixes: #12740

Signed-off-by: David Zafman <dzafman@redhat.com>
osd: Fix trim_object() to not crash on corrupt snapset
Add test case to check for trim_object() osd crash

Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: Add set-size command for objects
Signed-off-by: David Zafman <dzafman@redhat.com>
ceph-objectstore-tool: Enhanced dump command replaces dump-info
Show object stat information from objectstore
Show SnapSet if present
Add --head for search by object name

Signed-off-by: David Zafman <dzafman@redhat.com>
test: Eliminate check for bogus "obj13/head snaps empty" error
Signed-off-by: David Zafman <dzafman@redhat.com>
osd, test: Keep missing count and log number of missing clones
Signed-off-by: David Zafman <dzafman@redhat.com>
osd, test: When head missing a snapset, clones not an error
Fix log message for this case and make into "info"

Signed-off-by: David Zafman <dzafman@redhat.com>
osd: Use boost::optional instead of snap 0 for "all_clones"
Signed-off-by: David Zafman <dzafman@redhat.com>
test: osd-scrub-snaps.sh uses ceph-helpers.sh and added to make check
Signed-off-by: David Zafman <dzafman@redhat.com>

@dzafman dzafman force-pushed the dzafman:wip-12738 branch from 56b205c to d712737 Oct 30, 2015

@dzafman dzafman changed the title DNM: scrub bogus results when missing a clone scrub bogus results when missing a clone Oct 30, 2015

dzafman added a commit that referenced this pull request Oct 30, 2015

Merge pull request #5783 from dzafman/wip-12738
Fix scrub error handling and log output
Add set-size and remove-clone-metadata to ceph-objectstore-tool
Fix trim_object() to not crash on corrupt snapset
Add scrub clones test and add clones to ceph-objectstore-tool test

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>

@dzafman dzafman merged commit 19565e1 into ceph:master Oct 30, 2015

@dzafman dzafman deleted the dzafman:wip-12738 branch Oct 30, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.