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

mon/OSDMonitor: don't create pgs if pool was deleted #17600

Merged
merged 2 commits into from Sep 10, 2017

Conversation

jecluis
Copy link
Member

@jecluis jecluis commented Sep 8, 2017

Deleting a pool while its PGs are still being created will lead to an assertion, as described in http://tracker.ceph.com/issues/21309

With this patch, we aim at preventing queuing other pgs to be created if the pool has been deleted.

Fixes: http://tracker.ceph.com/issues/21309
Signed-Off-By: Joao Eduardo Luis <joao@suse.de>

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
@jecluis jecluis added this to the luminous milestone Sep 8, 2017
@jecluis jecluis changed the title Wip 21309 mon/OSDMonitor: don't create pgs if pool was deleted Sep 8, 2017
@@ -723,6 +723,12 @@ OSDMonitor::update_pending_pgs(const OSDMap::Incremental& inc)
!pending_creatings.queue.empty()) {
auto p = pending_creatings.queue.begin();
int64_t poolid = p->first;
if (inc.old_pools.find(poolid) != inc.old_pools.end()) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might want to move this trimming logic into creating_pgs_t::remove_pool()

A pool may be deleted while in the process of creating pgs. If that
happens, we should not queue additional pgs from that pool to be
created.

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

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
@liewegas liewegas merged commit fbeea65 into ceph:master Sep 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants