Bug #43771
closedpybind/rbd: config_list hangs if given an pool with a bad pg state
0%
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
Updated by Stephan Müller over 4 years ago
- Related to Bug #43765: mgr/dashboard: Dashboard breaks on the selection of a bad pool added
Updated by Lenz Grimmer over 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
Updated by Jason Dillaman over 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.
Updated by Stephan Müller about 4 years ago
- Related to Bug #44224: mgr/dashboard: Timeouts for rbd.py calls added