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

osd: avoid push raw clone when head missing #27273

Closed
wants to merge 1 commit into from

Conversation

Aran85
Copy link
Contributor

@Aran85 Aran85 commented Mar 29, 2019

if we are missing head, the snaps of clone will not present.
push raw clone will cause peer's SnapMapper cheat.

Fixes: http://tracker.ceph.com/issues/23030

Signed-off-by: Zengran Zhang zhangzengran@sangfor.com.cn

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

if we are missing head, the snaps of clone will not present.
push raw clone will cause peer's SnapMapper cheat.

Fixes: http://tracker.ceph.com/issues/23030

Signed-off-by: Zengran Zhang <zhangzengran@sangfor.com.cn>
@Aran85
Copy link
Contributor Author

Aran85 commented Mar 29, 2019

@liewegas would you have a look? thanks.

@xiexingguo
Copy link
Member

See https://tracker.ceph.com/issues/24396 (#22396 seems to be a work-around rather than a fixer, though)

@Aran85
Copy link
Contributor Author

Aran85 commented Apr 1, 2019

@xiexingguo thanks pointed out, i think there still may be some cases that we can avoid crash or inconsistent, i mean the cases different with the "unexpected clone". like the head object is really missing?

i think Sage and David had decided to tolerate such an error in the hope that a repair can be performed instead of crash peer. is this reliable when we removing snapshot? because the snapmapper will cheat..

@xiexingguo
Copy link
Member

i think there still may be some cases that we can avoid crash or inconsistent, i mean the cases different with the "unexpected clone". like the head object is really missing?

In general we should recover the head object first before trying to recover any descendant clone objects...

@Aran85
Copy link
Contributor Author

Aran85 commented Apr 1, 2019

In general we should recover the head object first before trying to recover any descendant clone objects...

yes, this is why i think return -EINVAL is ok.. but seems that "unexpected clone" will cause head objecte be deleted and leave the stray clone object...

@jdurgin
Copy link
Member

jdurgin commented May 6, 2019

is this obsolete with the assert/fix added in #27575?

@Aran85
Copy link
Contributor Author

Aran85 commented May 7, 2019

@jdurgin yeah, they are interrelated, but not sure if it is obsolete, maybe the #27575 is not a sufficient fix to avoid push raw clone..

@stale
Copy link

stale bot commented Jul 6, 2019

This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@stale stale bot added the stale label Jul 6, 2019
@stale stale bot removed the stale label Aug 30, 2019
@neha-ojha
Copy link
Member

Let's run this through a rados run to see how it does.

@stale
Copy link

stale bot commented Nov 8, 2019

This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@stale stale bot added the stale label Nov 8, 2019
@stale
Copy link

stale bot commented Feb 6, 2020

This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution!

@stale stale bot closed this Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants