Bug 1337341 - [RFE][swift] History mode for versioning
Summary: [RFE][swift] History mode for versioning
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-swift
Version: unspecified
Hardware: Unspecified
OS: Unspecified
Target Milestone: Upstream M3
: 10.0 (Newton)
Assignee: Thiago da Silva
QA Contact: Mike Abrams
Depends On:
Blocks: 1386035
TreeView+ depends on / blocked
Reported: 2016-05-18 22:04 UTC by Sean Cohen
Modified: 2016-12-14 15:34 UTC (History)
11 users (show)

Fixed In Version: openstack-swift-2.9.1-0.20160907205433.2cd0e06.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2016-12-14 15:34:14 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
OpenStack gerrit 214922 0 None MERGED Add "history" mode to versioned_writes middleware 2020-02-18 14:15:58 UTC
Red Hat Product Errata RHEA-2016:2948 0 normal SHIPPED_LIVE Red Hat OpenStack Platform 10 enhancement update 2016-12-14 19:55:27 UTC

Description Sean Cohen 2016-05-18 22:04:04 UTC
Introduces the concept of a "versioning mode" for versioned_writes.

When deleting, check whether any previous versions exist in the versions container. If none is found, the object is deleted. If the most-recent version in the versions container is not a delete marker, it is copied into the versioned container (overwriting the current version if one exists) and then deleted from the versions container. This preserves the previous behavior. If the most-recent version in the versions container is a delete marker and a current version exists in the versioned container, the current version is deleted. If the most-recent version in the versions container is a delete marker and no current version exists in the versioned container, we copy the next-most-recent version from the versions container into the versioned container (assuming it exists and is not a delete marker) and delete both the most-recent version (i.e., the delete marker) and the just-copied next-most-recent version from the versions container. With this mode, DELETEs to versioned containers "undo" operations on containers. Previously this was limited to undoing PUTs, but now it will also undo DELETEs performed while in "history" mode.

Comment 3 Elise Gafford 2016-09-08 16:23:01 UTC

Please mark the fixed-in-build in which this is built and set to MODIFIED to ship to QE.


Comment 4 Thiago da Silva 2016-09-08 19:06:49 UTC
This feature has been merged in upstream master but is not yet available in a downstream build.
The commit to upstream master is: https://github.com/openstack/swift/commit/9d08d17b4fbbc9efce007b2379016af23793d98c

Leaving with the needinfo flag for now until the build is produced.

Comment 8 errata-xmlrpc 2016-12-14 15:34:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.