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

jewel: ReplicatedBackend: take read locks for clone sources during recovery #12978

Merged
merged 2 commits into from Feb 1, 2017

Conversation

asheplyakov
Copy link

@asheplyakov asheplyakov commented Jan 18, 2017

@liewegas liewegas added this to the jewel milestone Jan 18, 2017
@ghost ghost self-assigned this Jan 25, 2017
@ghost ghost added the core label Jan 25, 2017
@jdurgin
Copy link
Member

jdurgin commented Jan 27, 2017

http://tracker.ceph.com/issues/18583 should be backported at the same time - it fixes a bug in this

@smithfarm
Copy link
Contributor

@asheplyakov To implement the previous comment, could you please:

  1. cherry-pick 3833440 into this PR
  2. add http://tracker.ceph.com/issues/18724 to the PR description
  3. set status of http://tracker.ceph.com/issues/18724 to "In Progress" and put the URL of this PR in the description

If any of this doesn't make sense, just ping me.

Otherwise, we run the risk of a clone source which hasn't actually
come into existence yet being used if we grab a clone which *just*
got added the the ssc, but has not yet actually had time to be
created (can't rely on message ordering here since recovery messages
don't necessarily order with client IO!).

Fixes: http://tracker.ceph.com/issues/17831
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 68defc2)

Conflicts:
	src/osd/ReplicatedBackend.cc:
	  PGBackend::failed_push() takes a single pg_shard_t in jewel
	src/osd/ReplicatedPG.h:
	  trivial: get_obc() is not declared as override in jewel,
	           no pgb_{set,clear}_object_snap_mapping() in jewel
The only users calc_*_subsets might try to read_lock an object which is
missing on the primary.  Returning false in those cases is perfectly
reasonable and avoids the problem.

Fixes: http://tracker.ceph.com/issues/18583
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 3833440)
@asheplyakov
Copy link
Author

@jdurgin thanks for a tip
@smithfarm done

@smithfarm
Copy link
Contributor

@jdurgin This passed a rados suite at http://tracker.ceph.com/issues/17851#note-45 with some (few, unrelated) failures. OK to merge?

Copy link
Member

@jdurgin jdurgin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@smithfarm
Copy link
Contributor

This passed another rados run at http://tracker.ceph.com/issues/17851#note-53

@smithfarm smithfarm merged commit 8e69580 into ceph:jewel Feb 1, 2017
athanatos added a commit to athanatos/ceph that referenced this pull request Feb 6, 2017
This reverts commit 8e69580, reversing
changes made to c05730c.
athanatos added a commit to athanatos/ceph that referenced this pull request Feb 6, 2017
athanatos added a commit to athanatos/ceph that referenced this pull request Feb 7, 2017
See: http://tracker.ceph.com/issues/18809

This reverts commit 8e69580, reversing
changes made to c05730c.

Signed-off-by: Samuel Just <sjust@redhat.com>
athanatos added a commit that referenced this pull request Feb 7, 2017
Revert "Merge pull request #12978 from asheplyakov/jewel-18581"

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
shinobu-x pushed a commit to shinobu-x/ceph that referenced this pull request Feb 23, 2017
See: http://tracker.ceph.com/issues/18809

This reverts commit 8e69580, reversing
changes made to c05730c.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 0cf7a61)

Conflicts:
	src/osd/ReplicatedPG.h
shinobu-x pushed a commit to shinobu-x/ceph that referenced this pull request Feb 25, 2017
See: http://tracker.ceph.com/issues/18809

This reverts commit 8e69580, reversing
changes made to c05730c.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 0cf7a61)

Conflicts:
	src/osd/ReplicatedPG.h
shinobu-x pushed a commit to shinobu-x/ceph that referenced this pull request Mar 5, 2017
See: http://tracker.ceph.com/issues/18809

This reverts commit 8e69580, reversing
changes made to c05730c.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 0cf7a61)
@smithfarm
Copy link
Contributor

smithfarm commented Mar 5, 2017

NOTE: this backport was later reverted by #13280 so both the backport and its revert are contained in 10.2.6

@shinobu-x
Copy link
Contributor

@smithfarm You are great :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants