Project

General

Profile

Actions

Bug #55770

open

multisite: metadata full sync does not copy mdlog entries, so can't serve them after failover

Added by Casey Bodley almost 2 years ago. Updated 6 months ago.

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

0%

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

Description

in metadata incremental sync, RGWCloneMetaLogCoroutine copies mdlog entries from the primary zone, so that it can serve those entries to other zones in the case of failover (and it's promoted to the 'metadata master')

these entries are not copied in metadata full sync. so a new zone that syncs all of its metadata from full sync won't have any of the mdlog entries. if that new zone is promoted to the metadata master, it won't be able to serve these entries to other zones that are behind in incremental sync. so those zones will think they're caught up, but may be missing lots of metadata

to fix this, metadata full sync (at the beginning of RGWMetaSyncShardCR::full_sync()?) will need to copy the source zone's mdlog - for example, by calling RGWCloneMetaLogCoroutine in a loop

Actions

Also available in: Atom PDF