Currently when running large amounts of stacks in parallel cloudformation likes to throw throttling errors and it's not properly handled when running 'stack sync' as we might get plenty false negatives or wrong results for example:
in function check_changeset_type when there's Throttling error it will automatically assume that's is 'CREATE' changeset type when in fact it should be 'UPDATE'
in wait_until_changset_complete waiter when there's Throttling it will assume that ChangeSet create failed when creation might still be in progress
Solution is retry mechanism on methods that throws Rate exceeded errors. If it fails after given number of retires it will fail as usual.
This handling of rate exceeded errors is crucial as we are getting them constantly in our CI/CD
Currently when running large amounts of stacks in parallel cloudformation likes to throw throttling errors and it's not properly handled when running 'stack sync' as we might get plenty false negatives or wrong results for example:
in function
check_changeset_type
when there's Throttling error it will automatically assume that's is 'CREATE' changeset type when in fact it should be 'UPDATE'in
wait_until_changset_complete
waiter when there's Throttling it will assume that ChangeSet create failed when creation might still be in progressSolution is retry mechanism on methods that throws
Rate exceeded
errors. If it fails after given number of retires it will fail as usual.This handling of rate exceeded errors is crucial as we are getting them constantly in our CI/CD