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
mon: fix force_pg_create pg stuck in creating bug #12539
Conversation
src/mon/PGMonitor.cc
Outdated
// the cluster. As soon as everybody has upgraded we can flipt to the new | ||
// behavior instead | ||
OSDMap& osdmap = mon->osdmon()->osdmap; | ||
if (osdmap.get_num_up_osds() == 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we still keep this check?
Shouldn't matter; if there are no OSDs the no OSDs will be subscribing to create messages.
|
23c2aca
to
c7f93e3
Compare
c7f93e3
to
61892ea
Compare
@tchaikov rebased this on master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meh, looked at this last week and then forgot to add the review.
lgtm.
retest this please |
retest this please |
61892ea
to
33ff3e9
Compare
33ff3e9
to
89292f3
Compare
src/mon/PGMonitor.cc
Outdated
if (osdmap.get_num_up_osds() > 0) { | ||
assert(osdmap.get_up_osd_features() & CEPH_FEATURE_MON_STATEFUL_SUB); | ||
} | ||
check_subs(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could move check_subs()
into the if (osdmap.get_num_up_osds() > 0)
block, because only OSD is interested in the pg creates updates.
ff1fd4b already removed most of this; remove the now useless stub and clean up the unneede con check. Signed-off-by: Sage Weil <sage@redhat.com>
Forgot this in 6cbdd67 Signed-off-by: Sage Weil <sage@redhat.com>
We weren't carefully registering the creating PG. In particular, the current osd mappings (acting, up, etc.) weren't getting filled in, which meant the PG wasn't (necessarily) mapped to an OSD until the OSDMap updated and we recalculated mappings. Fix by sending us through the common code path so that all fields get updated properly. Fixes: http://tracker.ceph.com/issues/18298 Signed-off-by: Sage Weil <sage@redhat.com>
89292f3
to
9a41a0b
Compare
updated
|
http://tracker.ceph.com/issues/18298
Also clean out some more legacy crud we don't need.