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

jewel: osd: OSD failed to subscribe skipped osdmaps after ceph osd pause #10804

Merged
2 commits merged into from Aug 29, 2016
Merged

jewel: osd: OSD failed to subscribe skipped osdmaps after ceph osd pause #10804

2 commits merged into from Aug 29, 2016

Conversation

ghost
Copy link

@ghost ghost commented Aug 21, 2016

std::map::insert() does not overwrite existing items with the same key.
so we need to do this in a different way. and we will check sub_sent
aftewards, so we need to keep an updated sub_sent around.

Fixes: http://tracker.ceph.com/issues/17023
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 5508149)
if any OSD is full or the pause flag is set in cluster, objecter will
always try to subscribe the next osdmap using the mon client shared with
OSD. but if the OSD's osdmap is very far behind on osd maps due to some
reasons, `MonClient::sub_want_increment()` will reject the subscribe
request from OSD, because it's asking for older maps while the mon client
is about to send the request from objecter for the *next* osdmap.

so we need to update objecter with the latest local osdmap, so it is
able to skip the new osdmaps if OSD needs to catch up with the cluster
first.

Fixes: http://tracker.ceph.com/issues/17023
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 1515e08)
@ghost ghost self-assigned this Aug 21, 2016
@ghost ghost added this to the jewel milestone Aug 21, 2016
@ghost ghost added bug-fix core labels Aug 21, 2016
ghost pushed a commit that referenced this pull request Aug 22, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 22, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 23, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 24, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 24, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 24, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 24, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 24, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 25, 2016
…maps after ceph osd pause

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
Copy link
Author

ghost commented Aug 29, 2016

@tchaikov does this backport look good to merge ? It passed the rados suite http://tracker.ceph.com/issues/16344#note-39 (except for one known bug that is, I believe, unrelated and one environmental failure on an erasure code job).

@ghost ghost assigned tchaikov Aug 29, 2016
@tchaikov
Copy link
Contributor

lgtm.

@ghost ghost merged commit 9bfc0cf into ceph:jewel Aug 29, 2016
@theanalyst theanalyst changed the title jewel: OSD failed to subscribe skipped osdmaps after ceph osd pause jewel: osd: OSD failed to subscribe skipped osdmaps after ceph osd pause Sep 27, 2016
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant