]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PG: do not use approx_missing_objects pre-nautilus 27798/head
authorNeha Ojha <nojha@redhat.com>
Thu, 25 Apr 2019 02:15:27 +0000 (19:15 -0700)
committerNeha Ojha <nojha@redhat.com>
Thu, 25 Apr 2019 21:44:15 +0000 (14:44 -0700)
commit4c617ecf1cf6f25cca42e5d59fa162dbc60f4de8
tree7b7953a204fd71431d01ae46e200fe51e037ae07
parent707ae12a299a8c2c6ceb2447fa4bff569fab8b5b
osd/PG: do not use approx_missing_objects pre-nautilus

We changed async recovery cost calculation in nautilus to also take
into account approx_missing_objects in ab241bf7e927cda2d0ed1698383d18dc4a4b601c
This commit depends on https://github.com/ceph/ceph/pull/23663, hence
wasn't backported to mimic.

Mimic only uses the difference in length of logs as the cost. Due to this,
the same OSD might have different costs in a mixed mimic and nautilus(or above)
cluster. This can lead to choose_acting() cycling between OSDs, when trying
to select the acting set and async_recovery_targets.

Fixes: https://tracker.ceph.com/issues/39441
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/PG.cc
src/osd/PG.h