Actions
Bug #43580
closedpg: fastinfo incorrect when last_update moves backward in time
% 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.
Updated by Kefu Chai over 4 years ago
- Status changed from New to Fix Under Review
- Assignee set to Sage Weil
- Pull request ID set to 32615
Updated by Kefu Chai over 4 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Nathan Cutler over 4 years ago
- Copied to Backport #43621: luminous: pg: fastinfo incorrect when last_update moves backward in time added
Updated by Nathan Cutler over 4 years ago
- Copied to Backport #43622: mimic: pg: fastinfo incorrect when last_update moves backward in time added
Updated by Nathan Cutler over 4 years ago
- Copied to Backport #43623: nautilus: pg: fastinfo incorrect when last_update moves backward in time added
Updated by Sage Weil over 4 years ago
- Has duplicate Bug #39398: osd: fast_info need update when pglog rewind added
Updated by Loïc Dachary over 2 years 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".
Actions