Project

General

Profile

Actions

Bug #19817

closed

multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period

Added by Casey Bodley almost 7 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
% Done:

0%

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

Description

If radosgw first learns about a new period from RGWPeriodPuller, it doesn't call RGWPeriod::reflect() to update its zonegroup objects in rados. This means that later radosgw-admin zone/zonegroup commands will operate on old configuration, and a 'period commit' can revert earlier changes that happened on another cluster.

For example, in a 3-zone configuration:

cluster1: create realm/zonegroup/zone1, period commit
cluster2: realm pull, create zone2, period commit
cluster3: realm pull, create zone3, period commit

[cluster2 uses RGWPeriodPuller to pull new period from master on cluster1, but local zonegroup still only contains zone1,zone2]

cluster2: 'zone modify --rgw-zone=zone2 --master' -> period commit

[resulting period no longer contains a zone3]


Related issues 3 (0 open3 closed)

Related to rgw - Bug #19816: multisite: set_latest_epoch not atomicResolvedCasey Bodley05/01/2017

Actions
Copied to rgw - Backport #20720: jewel: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new periodResolvedNathan CutlerActions
Copied to rgw - Backport #20721: kraken: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new periodRejectedActions
Actions #1

Updated by Casey Bodley almost 7 years ago

  • Status changed from New to Fix Under Review
  • Backport set to jewel kraken
Actions #2

Updated by Casey Bodley almost 7 years ago

  • Related to Bug #19816: multisite: set_latest_epoch not atomic added
Actions #3

Updated by Yehuda Sadeh almost 7 years ago

  • Priority changed from Normal to High
Actions #4

Updated by Yuri Weinstein almost 7 years ago

Casey Bodley wrote:

https://github.com/ceph/ceph/pull/14915

merged

Actions #5

Updated by Casey Bodley over 6 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #6

Updated by Nathan Cutler over 6 years ago

  • Copied to Backport #20720: jewel: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period added
Actions #7

Updated by Nathan Cutler over 6 years ago

  • Copied to Backport #20721: kraken: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period added
Actions #8

Updated by Nathan Cutler over 6 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF