Usually a 400 error means the client side has done something wrong, so that's why we don't just keep retrying it. (Retries are done to 500 errors because amazon asks us to).
If you want to change the range of errors we retry on, go into s3try.rb and change
break unless ((500...600).include? result.http_response.code.to_i) or forceRetry
to be 400...600 (for example)