mimic: core: choose async recovery targets by last_complete#30459
Closed
guoracle wants to merge 1 commit intoceph:mimicfrom
guoracle:mimic
Closed
mimic: core: choose async recovery targets by last_complete#30459guoracle wants to merge 1 commit intoceph:mimicfrom guoracle:mimic
guoracle wants to merge 1 commit intoceph:mimicfrom
guoracle:mimic
Conversation
Member
smithfarm
suggested changes
Oct 5, 2019
Contributor
smithfarm
left a comment
There was a problem hiding this comment.
Thanks for the PR. Have you read https://github.com/ceph/ceph/blob/master/SubmittingPatches.rst ?
The reason I ask is the commit is not signed.
Also, please either change the base (target) branch to master or, if the fix is not applicable to master for some reason, add some text to the commit message explaining why the fix cannot be applied first to master and then cherry-picked from there to mimic.
(Ordinarily, all bugs are fixed in master, first, and the fixes are backported from master to the stable branches.)
Contributor
|
Ah, I see the alternative fix #30466 was merged, so I'll close this one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In the asynchronous recovery feature,
the asynchronous recovery target OSD is selected by last_updata.version,
so that after the peering is completed, the asynchronous recovery target OSDs update the last_update.version, and then go down again, when the asynchronous recovery target OSDs is back online, when peering,there is no pglog difference between the asynchronous recovery targets and the authoritative OSD, resulting in no asynchronous recovery. My solution is to use last_complete.version to calculate the pglog difference and update the last_complete of the asynchronous recovery target OSD in the copy of peer_info to the latest after the recovery is complete.