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

mimic: core: osd/PeeringState: recover_got - add special handler for empty log #30895

Merged
merged 1 commit into from Oct 21, 2019

Conversation

@smithfarm
Copy link
Contributor

smithfarm commented Oct 14, 2019

backport tracker: https://tracker.ceph.com/issues/42036


backport of #30503
parent tracker: https://tracker.ceph.com/issues/41816

this backport was staged using ceph-backport.sh version 15.0.0.6113
find the latest version at https://github.com/ceph/ceph/blob/master/src/script/ceph-backport.sh

If we use a small osd_min[max]_pg_log_entries setting, say, 10, and
do splitting, a child pg may only be able to keep some divergent log
entries in the list. Any follow-up peering cycle on that child pg
would then rewind all the divergent log entries and lead to an empty
log list, which as a result could reliably fire the

  ceph_assert(info.last_complete == info.last_update)

assert if we start to recover any of the missing divergent objects
later.

Fixes: https://tracker.ceph.com/issues/41816
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit a5e9e90)

Conflicts:
	src/osd/PeeringState.cc
- file does not exist in the stable branch: made the changes manually to
  src/osd/PrimaryLogPG.cc
@smithfarm smithfarm added this to the mimic milestone Oct 14, 2019
@smithfarm smithfarm added the core label Oct 14, 2019
@smithfarm smithfarm requested review from xiexingguo, liewegas and neha-ojha Oct 14, 2019
@yuriw

This comment has been minimized.

Copy link
Contributor

yuriw commented Oct 18, 2019

@yuriw yuriw merged commit 3488c98 into ceph:mimic Oct 21, 2019
4 checks passed
4 checks passed
Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
@smithfarm smithfarm changed the title mimic: osd/PeeringState: recover_got - add special handler for empty log mimic: core: osd/PeeringState: recover_got - add special handler for empty log Oct 22, 2019
@smithfarm smithfarm deleted the smithfarm:wip-42036-mimic branch Oct 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.