Project

General

Profile

Actions

Bug #43771

closed

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

Added by Stephan Müller over 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 2 (1 open1 closed)

Related to Dashboard - Bug #43765: mgr/dashboard: Dashboard breaks on the selection of a bad poolResolvedStephan Müller

Actions
Related to Dashboard - Bug #44224: mgr/dashboard: Timeouts for rbd.py callsNew

Actions
Actions #1

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
Actions #2

Updated by Neha Ojha about 4 years ago

  • Category set to 137
Actions #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
Actions #4

Updated by Lenz Grimmer about 4 years ago

  • Backport set to nautilus
Actions #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.

Actions #6

Updated by Stephan Müller about 4 years ago

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

Also available in: Atom PDF