Object DELETE failed if versioned object has been expired
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Undecided
|
Zhou Yuan |
Bug Description
When setting object versioning with X-Versions-Location header to a container and putting a object with X-Delete-At, some DELETE object requests could fail with 412 precondition failed and become unable to delete the object.
That behavior occurs as follows:
- Setting object versioning to a container.
- PUT a object into the container with X-Delete-At header.
- PUT another object into the container with same object name (UPDATE object) before previous object is expired.
- DELETE the object could fail with 412 when previous (versioned) object has been already expired.
This fail always occurs until object-expirer sweep such expired objects because proxy server tries to restore the specified object from the previous object even if it has been expired.
Changed in swift: | |
milestone: | none → 2.2.0-rc1 |
status: | Fix Committed → Fix Released |
Changed in swift: | |
milestone: | 2.2.0-rc1 → 2.2.0 |
https:/ /review. openstack. org/#/c/ 88204/