timkay / aws

Easy command line access to Amazon EC2, S3, SQS, ELB, and SDB
http://timkay.com/aws/
424 stars 123 forks source link

When exactly do retries happen? #102

Open ericjs opened 8 years ago

ericjs commented 8 years ago

I understand that "-max-time=N" will cancel and retry if a reponse doesn't come back in N seconds .

And I read in Changes.txt "curl to retry 3 times in most cases", and gather it depends on one's version of curl supporting retries or else it will be disabled. The documentation page also says "Retries all requests up to 3 times".

But when exactly do and don't retries happen? Will it retry any command on any error response or just some? For example a head command returning 404 probably shouldn't retry. A checksum failure probably should retry. I would think 400-series errors should not retry, but 500-series errors should. Is this the rule of thumb used?

timkay commented 8 years ago

I think it does as you suggest, retry when it makes sense based on the http code. (I have seen a situation where the web server returned the wrong http code, and the retry did not happen even though a retry would have solved the problem.) I can't answer in much detail, as it's mostly a curl issue. On Nov 17, 2015 1:25 PM, "Eric" notifications@github.com wrote:

I understand that "-max-time=N" will cancel and retry if a reponse doesn't come back in N seconds .

And I read in Changes.txt "curl to retry 3 times in most cases", and gather it depends on one's version of curl supporting retries or else it will be disabled. The documentation page also says "Retries all requests up to 3 times".

But when exactly do and don't retries happen? Will it retry any command on any error response or just some? For example a head command returning 404 probably shouldn't retry. A checksum failure probably should retry. I would think 400-series errors should not retry, but 500-series errors should. Is this the rule of thumb used?

— Reply to this email directly or view it on GitHub https://github.com/timkay/aws/issues/102.