Project

General

Profile

Subtask #486

Feature #425: trigger osd scrub automatically

osd: make scrub not block writes

Added by Sage Weil about 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
OSD
Target version:
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

The overarching goal is to make scrub interact with writes. I think currently it holds the pg lock the whole time and writes just wait, which is no good because it can take a while to do. We could make it pause for writes, and reconcile the results with the conflicting write somehow, but that sounds complicated. But is it really? Maybe if the scrub map is sorted by sobject_t it would be easy to re-check any modified objects. It's current a vector<>, which is probably bad news anyway given how big it can get.

Alternatively, we could quiesce writes, take a snapshot on primary+replicas, resume writes, and the scrub the snapshot. Any problems we detect then need to be verified and/or repaired individually on the live pg. That may be complicated as well.

History

#1 Updated by Sage Weil about 10 years ago

  • Assignee set to Samuel Just

#2 Updated by Sage Weil almost 10 years ago

  • Status changed from New to Resolved
  • Source set to 3

Also available in: Atom PDF