aws/aws-sdk-ruby — pull request #276 by trevorrowe (2013-06-20 17:59:52+00:00)
Title: Address S3 RequestTimeout Errors with Ruby 2.0

This pull request does two things to reduce the issues caused by timeout errors with S3 and Ruby 2 Net::HTTP.

* Reduces the default idle timeout for connections in the pool
* Rescues and retries 400 RequestTimeout errors returned by S3

`AWS::S3::Errors::RequestTimeout` errors returned by the service were not retried because they are a 400 level error. 400 level errors are generally caused by a user and fall outside standard retry logic.

It is still unknown why Net::HTTP from Ruby 2 generates these errors where as 1.8 and 1.9 have no problem. My guess (still investigating) is it is related to the *large* refactor of Net::HTTP somehow, not our specific usage of it.