]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scrub: extend scrub reservation timeout
authorRonen Friedman <rfriedma@redhat.com>
Mon, 23 Oct 2023 15:38:18 +0000 (18:38 +0300)
committerRonen Friedman <rfriedma@redhat.com>
Mon, 23 Oct 2023 15:38:18 +0000 (18:38 +0300)
As replicas are now reserved sequentially, the scrub reservation
timeout should be extended.

Taking into account the low priority of scrub-related messages,
modify both 'osd_scrub_reservation_timeout' and
'osd_scrub_slow_reservation_response'.

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

index 5d8d40cf12d1fc9f45251c876e5dd9e9fc3903bc..1982244235851bdc0982dff51e6548a7adb58fda 100644 (file)
@@ -511,9 +511,9 @@ options:
   type: millisecs
   level: advanced
   desc: Maximum wait (milliseconds) for scrub reservations before issuing a cluster-log warning
-  long_desc: Waiting too long for a replica to respond to scrub resource reservation request
-   (after at least half of the replicas have responded). Disable by setting to a very large value.
-  default: 2200
+  long_desc: Waiting too long for a replica to respond to scrub resource reservation request.
+    Disable by setting to a very large value.
+  default: 30000
   min: 500
   see_also:
   - osd_scrub_reservation_timeout
@@ -525,7 +525,7 @@ options:
   long_desc: Maximum wait (milliseconds) for all replicas to respond to
     scrub reservation requests, before the scrub session is aborted. Disable by setting
     to a very large value.
-  default: 5000
+  default: 300000
   min: 2000
   see_also:
   - osd_scrub_slow_reservation_response
index 2f73cbbefb5d61306aa4693cd57cfd507c9e10b9..cbce07fe183c6d21e0238a8f2ddfe71d642b4a0d 100644 (file)
@@ -164,9 +164,19 @@ MEV(SchedReplica)
 /// that is in-flight to the local ObjectStore
 MEV(ReplicaPushesUpd)
 
-/// a new interval has dawned.
-/// For a Primary: Discards replica reservations, so that the FullReset that would
-/// follow it would not attempt to release them.
+/**
+ * IntervalChanged
+ *
+ * This event notifies the ScrubMachine that it is no longer responsible for
+ * releasing replica state.  It will generally be submitted upon a PG interval
+ * change.
+ *
+ * This event is distinct from FullReset because replicas are always responsible
+ * for releasing any interval specific state (including but certainly not limited to
+ * scrub reservations) upon interval change, without coordination from the
+ * Primary.  This event notifies the ScrubMachine that it can forget about
+ * such remote state.
+ */
 MEV(IntervalChanged)
 
 /// guarantee that the FSM is in the quiescent state (i.e. NotActive)