-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
S3Client::CompleteMultipartUpload returns success for failed requests #658
Comments
Thanks for reporting will get it queued up for fix. |
This has been fixed in v1.3.30 |
Hi! We're hitting this bug as well. Do you have any idea when you might post a fix? Thanks! |
Why isn't this still fixed? This sounds like a critical bug. We just got word that our users can be hit by it: https://issues.apache.org/jira/browse/ARROW-14523 |
I'll also note that the docstring, while stating the problem, is unhelpful as to how to solve it:
|
Work around a critical bug in the AWS SDK for C++ that fails to detect errors returned by CompleteMultipartUpload in the body of a 200 OK response: aws/aws-sdk-cpp#658
Work around a critical bug in the AWS SDK for C++ that fails to detect errors returned by CompleteMultipartUpload in the body of a 200 OK response: aws/aws-sdk-cpp#658
Work around a critical bug in the AWS SDK for C++ that fails to detect errors returned by CompleteMultipartUpload in the body of a 200 OK response: aws/aws-sdk-cpp#658
Our own workaround is to intercept XML error response using a DataReceivedHandler. Unfortunately, we can't really test it (those errors seem quite sporadic), but it should theoretically work. |
Work around a critical bug in the AWS SDK for C++ that fails to detect errors returned by CompleteMultipartUpload in the body of a 200 OK response: aws/aws-sdk-cpp#658 Closes #11594 from pitrou/ARROW-14523-s3-cmu-error-fix Authored-by: Antoine Pitrou <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
It seems like the Bug in TinyXML2 was resolved and we recently and we should be able to merge this fix again. |
As a sidenote, the original fix seems costly if it blindly parses any HTTP response (even a huge binary payload) as XML. |
Work around a critical bug in the AWS SDK for C++ that fails to detect errors returned by CompleteMultipartUpload in the body of a 200 OK response: aws/aws-sdk-cpp#658 Closes #11594 from pitrou/ARROW-14523-s3-cmu-error-fix Authored-by: Antoine Pitrou <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
So, here is an example of how this could be fixed in the AWS SDK, IMHO:
|
Thanks @pitrou for the proposed solution, it sounds like a good approach. |
I agree with @pitrou that this is a critial issue. Our customers seem to have hit it as well. |
the fix has been merged and will be released with 1.9.333 |
|
Complete Multipart Upload is a bit weird in the REST API. Rather than return a failed HTTP code for a failure, it returns 200 OK immediately and then may later, at its leisure, send back an error. This is described in the API docs here:
http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadComplete.html
However, if an error is received for a Complete Multipart Upload along with a 200 OK, as described in the example given in the doc there, the CompleteMultipartUploadOutcome returned by S3Client::CompleteMultipartUpload will have have IsSuccess()==true.
We are specifically receiving 200 OK SlowDown errors, but I expect other errors may occur as there's one given as an example in the API doc.
The text was updated successfully, but these errors were encountered: