[ 
https://issues.apache.org/jira/browse/HDDS-15167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chu Cheng Li updated HDDS-15167:
--------------------------------
    Summary: Broaden commit conflict detection for conditional writes  (was: 
Concurrent Conflict Detection for Conditional MPU Complete)

> Broaden commit conflict detection for conditional writes
> --------------------------------------------------------
>
>                 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
>            Priority: Major
>              Labels: pull-request-available
>
> 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]

Reply via email to