]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/standalone/scrub: extra delay in osd-scrub-test.sh 63400/head
authorRonen Friedman <rfriedma@redhat.com>
Wed, 21 May 2025 13:27:30 +0000 (08:27 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Wed, 21 May 2025 13:27:30 +0000 (08:27 -0500)
Modify TEST_just_deep_scrubs():
The test turns 'no-deep' off, and expects the scrub to be
concluded and reported within a short period. But the PG
already had a chance to try scrubbing (and fail due to
the 'no-deep'), and its 'not-before'
was pushed out by osd_scrub_retry_after_noscrub.

The fix is to reduce the value of osd_scrub_retry_after_noscrub
for this test, and to increase the timeout for the test itself.

Fixes: https://tracker.ceph.com/issues/71404
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
qa/standalone/scrub/osd-scrub-test.sh

index 10b68fda196a3a70c5bab629c992aa76080ac9ab..3c0973d72671177cff479dbef8702f938d2021a4 100755 (executable)
@@ -483,6 +483,7 @@ function TEST_just_deep_scrubs() {
     # set both 'no scrub' & 'no deep-scrub', then request a deep-scrub.
     # we do not expect to see the scrub scheduled.
 
+    ceph tell osd.* config set osd_scrub_retry_after_noscrub 2
     ceph osd set noscrub || return 1
     ceph osd set nodeep-scrub || return 1
     sleep 6 # the 'noscrub' command takes a long time to reach the OSDs
@@ -509,10 +510,14 @@ function TEST_just_deep_scrubs() {
 
     # unset the 'no deep-scrub'. Deep scrubbing should start now.
     ceph osd unset nodeep-scrub || return 1
-    sleep 5
+    sleep 8
     declare -A expct_qry_duration=( ['query_last_duration']="0" ['query_last_duration_neg']="not0" )
     sc_data_2=()
+    extract_published_sch $pgid $now_is $now_is sc_data_2
     echo "test counter @ should be higher than before the unset: " ${sc_data_2['query_scrub_seq']}
+
+    declare -A expct_qry_duration=( ['query_last_duration']="0" ['query_last_duration_neg']="not0" )
+    sc_data_2=()
     wait_any_cond $pgid 10 $saved_last_stamp expct_qry_duration "WaitingAfterScrub " sc_data_2 || return 1
     perf_counters $dir ${cluster_conf['osds_num']}
 }