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 past_intervals base case by adding epoch_pool_created to pg_history_t #14989

Merged
merged 2 commits into from May 16, 2017

Conversation

Projects
None yet
3 participants
@liewegas
Member

liewegas commented May 8, 2017

liewegas added some commits May 8, 2017

osd: add epoch_pool_created to pg_history_t
The epoch_created property is the *pg* creation epoch; we want to know the
pool creation epoch too.  Unfortunately that is not part of the pg_pool_t.
Add a pg_history_t member that sits alongside epoch_created.

Signed-off-by: Sage Weil <sage@redhat.com>
osd/PG: base past_interval_bounds on pool creation epoch
The base case for the past_intervals bounds is the creation epoch for the
pool, not the PG.  Otherwise, a pool that is created, does not go active,
and then splits will not include the pre-split history.  For example,

- pg A is created in epoch X
- pg A does not go active
- pg A splits into pg B in epoch Y

but then,
- pg B has past intervals from [X,Y)
- pg B epoch_created is Y ***
- pg B required past intervals is [Y,Y)
- fails check_past_interval_bounds check

Fixes: http://tracker.ceph.com/issues/19877
Signed-off-by: Sage Weil <sage@redhat.com>

@liewegas liewegas requested a review from jdurgin May 15, 2017

@yuriw yuriw merged commit 0e03291 into ceph:master May 16, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment