]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/PG: do not use approx_missing_objects pre-nautilus 28160/head
authorNeha Ojha <nojha@redhat.com>
Thu, 25 Apr 2019 02:15:27 +0000 (19:15 -0700)
committerPrashant D <pdhange@redhat.com>
Fri, 17 May 2019 00:20:40 +0000 (20:20 -0400)
commite518eaf2f64603fbdca43c672eb686f5fc523f62
tree72ba61fa7d717f98591188a927843d1ddfb00e02
parenta7dac8d89d804cc91e38a38ff26294576f5298ce
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>
(cherry picked from commit 4c617ecf1cf6f25cca42e5d59fa162dbc60f4de8)

Conflicts:
src/osd/PG.cc : Resolved in choose_async_recovery_ec and
choose_async_recovery_replicated
src/osd/PG.cc
src/osd/PG.h