Feature #6735
closedscrub documentation needs to be improved (see below conversation or as Sam)
0%
Description
(12:55:58 PM) tyler.brekke@newdream.net: I think I might be missing something,
https://github.com/ceph/ceph/blob/master/src/osd/OSD.cc#L4789
What happens in the case that scrub_should_schedule() is false?
(12:56:45 PM) tyler.brekke@newdream.net: Oh, I see 4810 now...
(12:56:48 PM) tyler.brekke@newdream.net: nvm
(01:51:06 PM) tyler.brekke@newdream.net: trying to track the entire scrub process right now, it looks like osd_scrub_load_threshold is only used when scrubs scheduled with sched_scrub(), it seems there are scrubbing methods that do not go through sched_scrub() which means scrubs occur without looking at osd_scrub_load_threshold. Does that sound correct?
(01:51:29 PM) samuelj@newdream.net/home: yeah, specifically, when the user has requested one manually
(01:53:01 PM) tyler.brekke@newdream.net: yeah, it seems there is a case where deep scrubs are occurring (without been ran manually) regardless of osd_scrub_load_threshold
(01:53:27 PM) samuelj@newdream.net/home: well, there is an upper limit which forces them regardless of threshold, I think
(01:53:46 PM) samuelj@newdream.net/home: max_interval
(01:53:52 PM) samuelj@newdream.net/home: osd_scrub_max_interval
(01:54:04 PM) tyler.brekke@newdream.net: that apply to deep scrubs too?
(01:54:08 PM) samuelj@newdream.net/home: I guess so
(01:54:24 PM) tyler.brekke@newdream.net: there is this, osd deep scrub interval, which is 1 week, while osd_scrub_max_interval is one day
(01:55:02 PM) samuelj@newdream.net/home: it determines deep regardless of load
(01:55:03 PM) samuelj@newdream.net/home: apparently
(01:55:24 PM) samuelj@newdream.net/home: it determines whether to do a normal scrub based on the min and max intervals
(01:55:34 PM) samuelj@newdream.net/home: and then promotes it to a deep scrub strictly if it's been longer than a week
(01:55:52 PM) tyler.brekke@newdream.net: interesting
(01:56:07 PM) samuelj@newdream.net/home: I think you should suggest he make the osd_scrub_max_interval really really big
(01:56:10 PM) tyler.brekke@newdream.net: this behavior makes sense now though.
(01:56:13 PM) tyler.brekke@newdream.net: yes
(01:56:17 PM) samuelj@newdream.net/home: that way, it simply won't scrub at all under load
(01:56:32 PM) samuelj@newdream.net/home: urgh, this conversation needs to become docs
(01:56:33 PM) samuelj@newdream.net/home: making bug
(01:56:48 PM) tyler.brekke@newdream.net: perfect, gunna make sure I can follow all this through the code too
(01:56:57 PM) samuelj@newdream.net/home: yep
(01:57:20 PM) tyler.brekke@newdream.net: osd scrub load threshold has a doc error too..
(01:57:25 PM) samuelj@newdream.net/home: oh
(01:57:26 PM) tyler.brekke@newdream.net: Description:
The maximum CPU load. Ceph will not scrub when the CPU load is higher than this number. Default is 50%.
(01:57:27 PM) samuelj@newdream.net/home: what kind?
(01:57:36 PM) tyler.brekke@newdream.net: 50% is very missleading
(01:57:41 PM) samuelj@newdream.net/home: ah