Project

General

Profile

Actions

Bug #20896

open

export_diff relies on clone_overlap, which is lost when cache tier is enabled

Added by Xuehan Xu almost 7 years ago. Updated over 6 years ago.

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

0%

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

Description

Recently, we find that, under some circumstance, in the cache tier, the "HEAD" object's clone_overlap can lose some OPs' modification range if the most recent clone object is not in cache tier.

Say, there is an object A in the cache tier, and if its most recent clone object is not in cache tier, after doing some writes to A, we can find that the "ceph-objectstore-tool dump" show that the "HEAD" object's clone_overlap didn't record those writes' modification range.

We think that the reason for this should be that, in ReplicatedPG::make_writeable method, when determining whether to record the modification range, there is a condition: "is_present_clone". According to the comment "we need to check whether the most recent clone exists, if it's been evicted, it's not included in the stats", I think this condition should be used to determine whether to do "add_interval_usage", not whether to record the modification range.

Is this right?

Actions

Also available in: Atom PDF