]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/scrub: disable high work-queue priority for h.p. scrub 59641/head
authorRonen Friedman <rfriedma@redhat.com>
Fri, 6 Sep 2024 13:23:15 +0000 (16:23 +0300)
committerRonen Friedman <rfriedma@redhat.com>
Sat, 21 Sep 2024 14:58:38 +0000 (09:58 -0500)
commit3be430040b46a15389da70f1cc65939f16637000
treec91b2e23aaa4cc5389a9f4c23610b89fa24624b1
parent2c4687070933d8c40bea704723188828d89fc74a
osd/scrub: disable high work-queue priority for h.p. scrub

Prior to this fix, scrub-related messages were queued with
one of four priorities:

- if part of a regular, periodic scrub, the messages were queued
  with a very low priority (osd_scrub_priority. Default: 5), unless:
- if the pool configuration specified a higher priority for the
  scrub, the messages were queued with that priority
  (the SCRUB_PRIORITY pool configuration option);
- if a client operation was waiting for the scrub to complete,
  the messages were queued with the higher priority of the
  client ops (osd_client_op_priority. Default: 63);
  and if the scrub was a high-priority one, e.g. initiated by the
  operator, the messages were queued with the highest priority
  (osd_requested_scrub_priority. Default: 120).

That last priority is too high, as scrubs should not have
precedence over client ops. It is even more disruptive if the
cluster is set to have only manually initiated scrubs, and
all scrubs are high-priority ones.

This patch removes the osd_requested_scrub_priority. Instead,
all scrub messages are queued according to the first three
rules above.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/common/options/global.yaml.in
src/osd/scrubber/pg_scrubber.cc