Bug #40859
openmultisite: delete object not sync from master when recovery
0%
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.
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
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
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.