-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
osd: randomize scrub times to avoid scrub wave
- to avoid the scrub wave when the osd_scrub_max_interval reaches in a high-load OSD, the scrub time is randomized. - extract scrub_load_below_threshold() out of scrub_should_schedule() - schedule an automatic scrub job at a time which is uniformly distributed over [now+osd_scrub_min_interval, now+osd_scrub_min_interval*(1+osd_scrub_time_limit]. before this change this sort of scrubs will be performed once the hard interval is end or system load is below the threshold, but with this change, the jobs will be performed as long as the load is low or the interval of the scheduled scrubs is longer than conf.osd_scrub_max_interval. all automatic jobs should be performed in the configured time period, otherwise they are postponed. - the requested scrub job will be scheduled right away, before this change it is queued with the timestamp of `now` and postponed after osd_scrub_min_interval. Fixes: ceph#10973 Signed-off-by: Kefu Chai <kchai@redhat.com> (cherry picked from commit 5e44040) Conflicts: src/osd/OSD.cc
- Loading branch information
Showing
4 changed files
with
94 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters