Actions
Fix #6762
openOSD 'numpg_*' performance counter inaccurate after adding PGs, until OSD map next changes
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
OSD
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
After creating some new PGs, I notice that the 'numpg' and associated counters don't reflect the newly increased PG counts (although they do increase by a few).
ceph osd pool set rbd pg_num 128
# ceph pg stat v9684: 256 pgs: 256 active+clean; 8458 MB data, 12235 MB used, 2778 GB / 2790 GB avail; 54420 kB/s wr, 107 op/s
pdsh> ceph --admin-daemon /var/run/ceph/ceph-osd* perf dump | grep numpg_primary gravel3: "numpg_primary": 79, gravel2: "numpg_primary": 46, gravel1: "numpg_primary": 68,
(79 + 46 + 68 is 193. There were 192 PGs before creating new ones, afterwards there should be 256)
Waited about 5 minutes to see if the values corrected themselves, no joy.
The values catch up when I either:
- Restart the OSDs
- Make some change to the OSD map (I happen to use a pool rename to poke it)
The num_pg* counters are getting set in OSD::consume_map(), so I wonder if there is some better place to update them to keep them fresh?
Actions