Project

General

Profile

Actions

Bug #2864

closed

rados leaves behind references to old buckets

Added by caleb miles over 11 years ago. Updated over 6 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

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

Description

It is possible to create an inconsistent state by following this procedure:

1. create a bucket through an API call to the gateway, handled by boto for example, call this bucket A
2. add some stuff to the bucket through API calls
3. do some other stuff
4. remove the bucket object through a call to rados directly, $rados on the server running the radosgw,
5. create a bucket with the same name as the previously deleted bucket, call this bucket B

At this point attempts to access the newly created bucket, bucket B, will return 404 not found errors through a client
such as boto, however, attempts to place objects in bucket B will return 200 success through a client such
as boto. Further attempts to retrieve information such as the keys contained in bucket B will return 400 bad
request errors. Furthermore attempts to delete bucket B through radosgw-admin will return a -22 error. Additionally,
when using $rados to list the objects in .rgw.buckets any objects added to bucket B have the prefix of the old
bucket, bucket A, that had been deleted through a call to rados and a new directory with the prefix of bucket A will
have also been created in .rgw.buckets. This behavior will cause a 409 conflict error if a different user, from the user
originally linked to bucket A when it was created, even if the original user no longer exists.

Actions #1

Updated by caleb miles over 11 years ago

  • Status changed from New to Won't Fix

As this behavior can only be reproduced through deleting objects directly through rados, and not radosgw-admin or API calls, preventing this behavior will not be addressed. Normal functionality can be restored by deleting the <bucketname> item from .rgw using rados if this problem occurs.

Actions #2

Updated by John Spray over 6 years ago

  • Project changed from Ceph to rgw
  • Category deleted (22)

Bulk reassign of radosgw category to RGW project.

Actions

Also available in: Atom PDF