swift/swift/obj
Peter Portante 6b9806e0e8 Fix handling of DELETE obj reqs with old timestamp
The DELETE object REST API was creating tombstone files with old
timestamps, potentially filling up the disk, as well as sending
container updates.

Here we now make DELETEs with a request timestamp return a 409 (HTTP
Conflict) if a data file exists with a newer timestamp, only creating
tombstones if they have a newer timestamp.

The key fix is to actually read the timestamp metadata from an
existing tombstone file (thanks to Pete Zaitcev for catching this),
and then only create tombstone files with newer timestamps.

We also prevent PUT and POST operations using old timestamps as well.

Change-Id: I631957029d17c6578bca5779367df5144ba01fc9
Signed-off-by: Peter Portante <peter.portante@redhat.com>
2013-08-06 12:44:42 -04:00
..
__init__.py Initial commit of Swift code 2010-07-12 17:03:45 -05:00
auditor.py Removed unnecessary monkeypatching of __builtin__ 2013-07-27 21:34:35 -07:00
diskfile.py Fix handling of DELETE obj reqs with old timestamp 2013-08-06 12:44:42 -04:00
expirer.py Removed unnecessary monkeypatching of __builtin__ 2013-07-27 21:34:35 -07:00
replicator.py Merge "log return value before arguments when rsync error" 2013-07-31 05:20:32 +00:00
server.py Fix handling of DELETE obj reqs with old timestamp 2013-08-06 12:44:42 -04:00
updater.py Removed unnecessary monkeypatching of __builtin__ 2013-07-27 21:34:35 -07:00