-
Notifications
You must be signed in to change notification settings - Fork 108
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
HTTP parse/query signature errors on subsequent S3 requests after one bad request #205
Comments
Here is my code that reproduces the issue. First generate an "out" file using dd command - it is 11 bytes long: Now, run the code below after setting appropriate bucket (search-replace "your-bucket-here") and credentials - the code below uploads the 11-byte "out" file created above but sets the length to 1 instead:
Code run below - we first get the version Id back for the file we put with wrong length, and then get "Signature error" in subsequent read request - the actual error message can also be "HTTP parse error" like I reported before. It seems to me that this is really bad because a single bad request on a server will cause system-wide outage for all read requests :( So, will really appreciate help with resolving this. Happy to work with you to resolve this!
|
Some more investigation on this error - shared HTTP Manager seems to be the root cause here (which seems kind of obvious from the nature of error - something is shared which becomes corrupt across requests). Using different HTTP manager for getObject request makes the error disappear. I also simulated a source file for |
This seems to be |
I just discovered this when testing AWS S3 with versioned buckets. Here is what I am doing:
requestBodySource
to 1.S3.goVersionId = Nothing
). I get 400 HTTP error with s3ErrorMessage "An error occurred when parsing the HTTP request."I increased threadDelay between both requests to 15 seconds but get a different 403 error once in a while: "The request signature we calculated does not match the signature you provided. Check your key and signing method."
I had to increase threadDelay to 25 seconds (20 seconds mark still caused error) before this issue would go away. So, something seems wrong here with the logic when first request goes wrong.
The text was updated successfully, but these errors were encountered: