Closed GoogleCodeExporter closed 9 years ago
Indeed, this has come up before. s3fs fails without an accurate, meaningful
error message.
Setting the curl option FAILONERROR to true allows for the trapping of vaious
curl errors including a HTTP error. However, its annoying that with this option
set, if there is an error, the response text (the XML) is not returned.
Useful messages are contained within the XML which can indicate the nature of
the error. A HTTP response of 403 is representative of either a credentials
failure or a "time too skewed" failure (or others). The only way to
differentiate between the these is to get the XML.
It appears that a second request can be sent after resetting the FAILONERROR
option. With that, the XML can then be parsed.
This can be done in a couple of places, but doing this in the "check_service"
function makes sense. However, this requires an active internet connection.
Original comment by dmoore4...@gmail.com
on 8 Dec 2010 at 1:43
Here's the message due to time too skewed:
s3fs: CURLE_HTTP_RETURNED_ERROR
s3fs: HTTP Error Code: 403
s3fs: AWS Error Code: RequestTimeTooSkewed
s3fs: AWS Message: The difference between the request time and the current time
is too large.
Original comment by dmoore4...@gmail.com
on 8 Dec 2010 at 2:16
...and if your SecretAccessKey is wrong
s3fs: CURLE_HTTP_RETURNED_ERROR
s3fs: HTTP Error Code: 403
s3fs: AWS Error Code: SignatureDoesNotMatch
s3fs: AWS Message: The request signature we calculated does not match the
signature you provided. Check your key and signing method.
...or if your AccessKeyId is wrong:
s3fs: CURLE_HTTP_RETURNED_ERROR
s3fs: HTTP Error Code: 403
s3fs: AWS Error Code: InvalidAccessKeyId
s3fs: AWS Message: The AWS Access Key Id you provided does not exist in our
records.
Original comment by dmoore4...@gmail.com
on 8 Dec 2010 at 2:29
This issue was closed by revision r275.
Original comment by dmoore4...@gmail.com
on 8 Dec 2010 at 2:39
Original issue reported on code.google.com by
dmoore4...@gmail.com
on 8 Dec 2010 at 1:27