Project

General

Profile

Actions

Feature #14860

closed

scrub/repair: persist scrub results (do not overwrite deep scrub results with non-deep scrub)

Added by Kefu Chai about 8 years ago. Updated about 7 years ago.

Status:
Duplicate
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

this is a spin-off of #13505

note to myself, in the last discussion with david, he advised that we should not overwrite the scrub result of deep scrub with the shallow one. considering an OSD with low workload, the shallow scrub is performed once a day, while the deep scrub is performed once a week. so on the week end the deep scrub result overwrites the shallow scrub result. hence some of the discrepancies are overlooked.

  • data_digest_mismatch
  • omap_digest_mismatch
  • read_error

if the content of the object/omap in question is rewritten after the deep scrub and before we do the repair, the error is very likely persists.

to implement this feature, we can have two omap entries for each object. one for shallow errors, the other for deep errors. and the deep scrub can rewrite both of them, while the shallow scrub can only overwrite the former one.

as this design considerably complicates the code. i want to keep the current behaviour around until we have a better idea how to solve it.


Related issues 2 (1 open1 closed)

Related to Ceph - Feature #13505: scrub/repair: persist scrub results.In Progress

Actions
Is duplicate of Ceph - Bug #18113: Don't lose deep-scrub informationResolvedDavid Zafman12/02/2016

Actions
Actions

Also available in: Atom PDF