Project

General

Profile

Bug #43771

pybind/rbd: config_list hangs if given an pool with a bad pg state

Added by Stephan Müller about 4 years ago. Updated about 4 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
nautilus
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

If the dashboard tries to get the configuration of RBDs on a pool basis with a pool in the pg state 'creating+incomplete', it will stop working waiting for a response of `config_list` in `rbd.pyx`.

The pg state 'creating+incomplete' is an edge case as it will only appear if one creates a pool that needs more buckets as the cluster can provide. The current workaround in the dashboard is to omit this call if a pool is in this state.

Here is the manual stack trace found by debugging:
https://github.com/ceph/ceph/blob/master/src/pybind/mgr/dashboard/controllers/pool.py#L206
https://github.com/ceph/ceph/blob/master/src/pybind/mgr/dashboard/services/rbd.py#L104
https://github.com/ceph/ceph/blob/master/src/pybind/rbd/rbd.pyx#L2215
https://github.com/ceph/ceph/blob/master/src/pybind/rbd/rbd.pyx#L2935


Related issues

Related to Dashboard - Bug #43765: mgr/dashboard: Dashboard breaks on the selection of a bad pool Resolved
Related to Dashboard - Bug #44224: mgr/dashboard: Timeouts for rbd.py calls New

History

#1 Updated by Stephan Müller about 4 years ago

  • Related to Bug #43765: mgr/dashboard: Dashboard breaks on the selection of a bad pool added

#2 Updated by Neha Ojha about 4 years ago

  • Category set to 137

#3 Updated by Lenz Grimmer about 4 years ago

  • Project changed from mgr to rbd
  • Subject changed from rbd: config_list hangs if given an pool with a bad pg state to pybind/rbd: config_list hangs if given an pool with a bad pg state
  • Category deleted (137)
  • Severity changed from 3 - minor to 2 - major

#4 Updated by Lenz Grimmer about 4 years ago

  • Backport set to nautilus

#5 Updated by Jason Dillaman about 4 years ago

  • Status changed from New to Rejected

Practically every RADOS command will fail if you point it at a bad pool. It's not going to be worth the effort to one-off these corner-cases.

#6 Updated by Stephan Müller about 4 years ago

  • Related to Bug #44224: mgr/dashboard: Timeouts for rbd.py calls added

Also available in: Atom PDF