Chu Cheng Li created HDDS-15167:
-----------------------------------
Summary: Concurrent Conflict Detection for Conditional MPU Complete
Key: HDDS-15167
URL: https://issues.apache.org/jira/browse/HDDS-15167
Project: Apache Ozone
Issue Type: Sub-task
Components: OM, s3gateway
Reporter: Chu Cheng Li
Assignee: Chu Cheng Li
If two or more independent clients send the exact same Complete Multipart
Upload request at the same time, only one client should receive a successful
response and the others should get a 409. That way, they know they must re-read
the object, re-upload the parts if necessary, and then complete the MPU again
using the latest ETag they observed.
ref:
[docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html|https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html]
{quote}[If-Match|https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_RequestSyntax]
Uploads the object only if the ETag (entity tag) value provided during the
WRITE operation matches the ETag of the object in S3. If the ETag values do not
match, the operation returns a 412 Precondition Failed error.
*If a conflicting operation occurs during the upload S3 returns a 409
ConditionalRequestConflict response. On a 409 failure you should fetch the
object's ETag, re-initiate the multipart upload with CreateMultipartUpload, and
re-upload each part.*
{quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]