Project

General

Profile

Actions

Bug #40859

open

multisite: delete object not sync from master when recovery

Added by duc pham almost 5 years ago. Updated almost 5 years ago.

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

0%

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

Description

version: 13.2.6

2 sites: A (master) and B (salve)

1. Create a bucket and put one object

2. stop the radosgw on site A, promote the site B to master

3. Start the radosgw on site A and switch the site A to master

4. Delete the object in the bucket

5. Delete the bucket, got BucketNotEmpty

I checked object in the bucket on the site A is empty but not empty on site B.

Actions #1

Updated by Abhishek Lekshmanan almost 5 years ago

Bucket deletion always is forwarded to the master zone, let's add a note in the multisite docs regarding this

Actions #2

Updated by Casey Bodley almost 5 years ago

duc pham wrote:

version: 13.2.6

2 sites: A (master) and B (salve)

1. Create a bucket and put one object

2. stop the radosgw on site A, promote the site B to master

3. Start the radosgw on site A and switch the site A to master

4. Delete the object in the bucket

5. Delete the bucket, got BucketNotEmpty

I checked object in the bucket on the site A is empty but not empty on site B.

are steps 4 and 5 run against zone A? are you sure that A thinks its the master when this happens? it sounds like zone A is forwarding the bucket deletion request to the master zone B, which correctly fails with BucketNotEmpty. bucket deletion on a non-master zone is inherently racy, because data sync is eventually consistent and deletions may not have synced before the attempt to delete the bucket

Actions #3

Updated by duc pham almost 5 years ago

sorry, I redescribe the issue.

1. Create a bucket and put one object

2. stop the radosgw on site A, promote the site B to master

3. Start the radosgw on site A and switch the site A to master.

The A is the master site.
4. Delete the object in the bucket from site A. The bucket is empty

5. Delete the bucket, got BucketNotEmpty. I checked in site B is still the object.

Actions

Also available in: Atom PDF