Rules for retrying transactions
● Only retry on time-out – all other errors should be reported as errors and
the transaction abandoned
● You should only automatically retry a few times (4-6), about every 30
seconds
● Most problems resolve themselves in a couple of minutes or not at all;
might as well give up (which generally helps rather than hinders load
issues, if that was the problem)
● Given application knowledge, you might make your own retry rules for
specific transactions (e.g., game client patching retries forever)
● Random exponential retry is a waste of effort at the application level and
just introduces uncertainty