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

nautilus: osd/PG: discover missing objects when an OSD peers and PG is degraded #27744

Merged
merged 1 commit into from May 28, 2019

Conversation

ashishkumsingh
Copy link
Contributor

When a PG is remapped from OSD `a` to OSD `b`, the objects are
backfilled. When OSD `a` is restarted, objects become degraded
as `a` is no longer queried or considered as a backfill source.

As the PG is degraded, `PG::discover_all_missing` is not called
when a candidate OSD peers with the primary: The PG is already
active, thus `PG::activate` (and in turn missing object discovery)
is not called. Discovery is also not initiated from
`PG::RecoveryState::Active::react(const MNotifyRec& notevt)`
as there are no unfound objects.

This patch adds a call to `discover_all_missing` when
when an OSD sends its `MNotifyRec` message and the PG is degraded.

Fixes: https://tracker.ceph.com/issues/37439
Signed-off-by: Jonas Jelten <jj@stusta.net>
(cherry picked from commit e152d09)
@ashishkumsingh ashishkumsingh added this to the nautilus milestone Apr 24, 2019
@smithfarm smithfarm added the core label Apr 26, 2019
@smithfarm
Copy link
Contributor

jenkins test docs

@TheJJ
Copy link
Contributor

TheJJ commented May 17, 2019

Just to make sure this lands in the next nautilus release, is there something holding back the patch? If yes, I'm ready to help out.

@smithfarm
Copy link
Contributor

jenkins retest this please

@smithfarm smithfarm requested a review from neha-ojha May 18, 2019 11:15
@smithfarm
Copy link
Contributor

@TheJJ It is not building properly for the Jenkins "make check" test, but this is currently happening in other nautilus PRs as well. Anyway, you shouldn't worry - the PR will get into an integration testing run in due course.

@smithfarm
Copy link
Contributor

jenkins re-test this please

@smithfarm
Copy link
Contributor

jenkins test docs

@smithfarm smithfarm added the nautilus-batch-1 nautilus point releases label May 21, 2019
@yuriw
Copy link
Contributor

yuriw commented May 23, 2019

@yuriw yuriw merged commit 5e2e63f into ceph:nautilus May 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants