Table of Contents |
---|
...
Internal to Gateway, all header values are treated as case-insensitive.
Dates are in the
rfc1123
format, eg. "Wed, 12 Dec 2016 15:59:02 GMT
". For S3 these are translated in to theISO8601
format.The
x-object-lock-meta-retain-until-date
header applies to retention periods and specifies the end date of the retention period. Thex-object-lock-meta-legal-hold
header applies to legal hold. Both a retention period and a legal hold can both be set on the same object version.The
x-object-lock-meta-original-lifepoints
header stores the complete set of user defined delete/deletable lifepoint headers found on the object at the time the retention period/legal hold was applied. The original delete/deletable lifepoint headers are removed. This means Swarm no longer considers these lifepoints.
Gateway manipulates delete/deletable type lifepoints, all other lifepoints are unaffected and continue functioning normally.
As long as an object lock is in effect, it takes precedence over any user-defined delete/deletable lifepoints, blockingdelete
. The user-defined lifepoints take effect again when an object lock expires (or gets removed).Object locking works for tenanted objects. Object locking cannot be set on untenanted and unnamed objects in a cluster.
...
Differences Between S3 and Swarm's Implementation of Object Locking
In S3, a DELETE request results in a delete marker, shadowing the locked object version. Swarm's implementation deviates from this logic – it rejects any DELETE
requests for indelible objects with an HTTP 403 Forbidden
error.
Gateway checks if the object is locked when it gets a HTTP 403 Forbidden
error from Swarm. Gateway simulates the S3 behavior creating a new (unlocked) object version, immediately followed by a DELETE
, thus creating a delete marker.
For SCSP, use a configuration flag to pick the desired behavior:
...