Skip to content

Commit d3a1626

Browse files
authored
Merge pull request ceph#58858 from ronen-fr/wip-rf-entry
osd/scrub: a scrub queue of level-specific entries Reviewed-by: Samuel Just <[email protected]> Reviewed-by: Nitzan Mordechai <[email protected]>
2 parents db4959e + dffbdf4 commit d3a1626

27 files changed

+2300
-987
lines changed

qa/standalone/scrub/osd-recovery-scrub.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ function TEST_recovery_scrub_1() {
9999
kill_daemons $dir #|| return 1
100100

101101
declare -a err_strings
102-
err_strings[0]="recovery in progress. Only high priority scrubs allowed."
102+
err_strings[0]="recovery in progress.*scrubs"
103103

104104
for osd in $(seq 0 $(expr $OSDS - 1))
105105
do
106-
grep "recovery in progress. Only high priority scrubs allowed." $dir/osd.${osd}.log
106+
grep "recovery in progress.*scrubs" $dir/osd.${osd}.log
107107
done
108108
for err_string in "${err_strings[@]}"
109109
do
@@ -242,7 +242,7 @@ function TEST_recovery_scrub_2() {
242242
setup $dir || return 1
243243
run_mon $dir a --osd_pool_default_size=1 --mon_allow_pool_size_one=true || return 1
244244
run_mgr $dir x || return 1
245-
local ceph_osd_args="--osd-scrub-interval-randomize-ratio=0 "
245+
local ceph_osd_args="--osd-scrub-interval-randomize-ratio=0.1 "
246246
ceph_osd_args+="--osd_scrub_backoff_ratio=0 "
247247
ceph_osd_args+="--osd_stats_update_period_not_scrubbing=3 "
248248
ceph_osd_args+="--osd_stats_update_period_scrubbing=2"
@@ -269,7 +269,7 @@ function TEST_recovery_scrub_2() {
269269
ceph pg dump pgs
270270

271271
# note that the following will be needed if the mclock scheduler is specified
272-
#ceph tell osd.* config get osd_mclock_override_recovery_settings
272+
ceph tell osd.* config get osd_mclock_override_recovery_settings
273273

274274
# the '_max_active' is expected to be 0
275275
ceph tell osd.1 config get osd_recovery_max_active
@@ -327,11 +327,11 @@ function TEST_recovery_scrub_2() {
327327
kill_daemons $dir #|| return 1
328328

329329
declare -a err_strings
330-
err_strings[0]="not scheduling scrubs due to active recovery"
331-
330+
## we do not expect a refusal to scrub
331+
err_strings[0]="recovery in progress.*scrubs"
332332
for osd in $(seq 0 $(expr $OSDS - 1))
333333
do
334-
grep "not scheduling scrubs" $dir/osd.${osd}.log
334+
grep "recovery in progress.*scrubs" $dir/osd.${osd}.log
335335
done
336336
for err_string in "${err_strings[@]}"
337337
do

qa/standalone/scrub/osd-scrub-repair.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5754,11 +5754,13 @@ function TEST_corrupt_scrub_erasure_overwrites() {
57545754

57555755
#
57565756
# Test to make sure that a periodic scrub won't cause deep-scrub info to be lost
5757+
# Update 2024: this functionality was removed from the code. The test will be skipped.
57575758
#
57585759
function TEST_periodic_scrub_replicated() {
57595760
local dir=$1
57605761
local poolname=psr_pool
57615762
local objname=POBJ
5763+
return 0
57625764

57635765
run_mon $dir a --osd_pool_default_size=2 || return 1
57645766
run_mgr $dir x || return 1
@@ -5795,12 +5797,13 @@ function TEST_periodic_scrub_replicated() {
57955797

57965798
flush_pg_stats
57975799
local last_scrub=$(get_last_scrub_stamp $pg)
5798-
# Fake a schedule scrub
5800+
# Fake a scheduled deep scrub
57995801
ceph tell $pg schedule-scrub || return 1
58005802
# Wait for schedule regular scrub
58015803
wait_for_scrub $pg "$last_scrub"
58025804

58035805
# It needed to be upgraded
5806+
# update 2024: the "upgrade" functionality has been removed
58045807
grep -q "Deep scrub errors, upgrading scrub to deep-scrub" $dir/osd.${primary}.log || return 1
58055808

58065809
# Bad object still known

qa/standalone/scrub/osd-scrub-test.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ function TEST_interval_changes() {
205205
perf_counters $dir $OSDS
206206
}
207207

208-
function TEST_scrub_extended_sleep() {
208+
# RRR 6aug24: this test cannot work as expected, following the changes in the
209+
# scrub type to overrides matrix. Disabled for now.
210+
function NO_scrub_extended_sleep() {
209211
local dir=$1
210212
local poolname=test
211213
local OSDS=3

0 commit comments

Comments
 (0)