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 #1

Updated by Kefu Chai about 8 years ago

  • Copied from Feature #13505: scrub/repair: persist scrub results. added
Actions #2

Updated by Kefu Chai about 8 years ago

  • Copied from deleted (Feature #13505: scrub/repair: persist scrub results.)
Actions #3

Updated by Kefu Chai about 8 years ago

  • Related to Feature #13505: scrub/repair: persist scrub results. added
Actions #4

Updated by Kefu Chai almost 8 years ago

the non-deep scrub can return without error, but the pg being scrubbed is still remaining inconsistent:

2016-04-25 17:12:10.670437 osd.5 [INF] 4.16 scrub ok ( 1 remaining deep scrub error(s) )

so, it's possible that

rados list-inconsistent-pg some-pool

returns

["pg0.1"]

while

rados list-inconsistent-obj pg0.1

returns

[]

Actions #5

Updated by David Zafman about 7 years ago

  • Is duplicate of Bug #18113: Don't lose deep-scrub information added
Actions #6

Updated by David Zafman about 7 years ago

  • Status changed from New to Duplicate
Actions

Also available in: Atom PDF