Project

General

Profile

Bug #43580

pg: fastinfo incorrect when last_update moves backward in time

Added by Sage Weil almost 2 years ago. Updated 2 months ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
luminous,mimic,nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

If, during peering, last_update moves backwards, we may rewrite the full info but leave a fastinfo record in place with a newer last_update.

From ML:

In the scenario of EC deployment, suppose we done a peering process for a pg and
changed one shard's last_update from lu1(e1'3) to lu2(e1'2) .lu1 was written as
fastinfo and lu2 was written as info. After that we restarted this osd and
loaded pgs again. when we read pg info from disk, we will find the pg info is
lu1 applied to lu2, which becomes incorrect. the true value should be lu2. That
may cause the coming peering execute incorrectly and result in unfound objects.
I currently considered below two options:
1. delete fastinfo when we need to change info;
2. add extra sequence number to fastinfo and info structure to make it keep them
in the right order.


Related issues

Duplicated by RADOS - Bug #39398: osd: fast_info need update when pglog rewind Duplicate
Copied to RADOS - Backport #43621: luminous: pg: fastinfo incorrect when last_update moves backward in time Rejected
Copied to RADOS - Backport #43622: mimic: pg: fastinfo incorrect when last_update moves backward in time Rejected
Copied to RADOS - Backport #43623: nautilus: pg: fastinfo incorrect when last_update moves backward in time Rejected

History

#1 Updated by Kefu Chai almost 2 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Sage Weil
  • Pull request ID set to 32615

#2 Updated by Kefu Chai almost 2 years ago

  • Backport set to luminous,mimic,nautilus

#3 Updated by Kefu Chai almost 2 years ago

  • Status changed from Fix Under Review to Pending Backport

#4 Updated by Nathan Cutler almost 2 years ago

  • Copied to Backport #43621: luminous: pg: fastinfo incorrect when last_update moves backward in time added

#5 Updated by Nathan Cutler almost 2 years ago

  • Copied to Backport #43622: mimic: pg: fastinfo incorrect when last_update moves backward in time added

#6 Updated by Nathan Cutler almost 2 years ago

  • Copied to Backport #43623: nautilus: pg: fastinfo incorrect when last_update moves backward in time added

#7 Updated by Sage Weil almost 2 years ago

  • Duplicated by Bug #39398: osd: fast_info need update when pglog rewind added

#8 Updated by Loïc Dachary 2 months ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Also available in: Atom PDF