cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper I
Helper I

Retry Policy Exponential Interval Explanation

Hello,

 

I am trying to setup exponential interval retry policy for insert function into google sheets but cannot find good explanation on how it works. I set count to maximum possible 90 and it is clear to me that it will try 90 times. Confusion comes from "Interval", "Minimum Interval", and "Maximum Interval" options. Since I am on Flow 2 plan meaning that my flows run once per minute, I will enter "PT1M" into "Interval" Field. Then I will enter "PT1H" into "Maximum Interval" field. To me, that means that first retry will happen in 1 minutes, and intervals of all subsequent retries will keep increasing exponentially until they hit 1 hour. Then, retries will happen once per hour until all 90 retries are done. Let me know if my logic correct, because I cannot find explanation anywhere.

Also, why do I need "Minimum Interval"? Does it mean that I can use "Minimum Interval" instead of "Maximum Interval"? I assume if I enter "PT1H" into "Interval" and then "PT1M" into "Minimum Interval", then the first retry will occur after 1 hour and all subsequent retries will keep exponentially decreasing until retries happen every minute and until they hit count of 90?

 

Thanks!MS Flow Exponential Retry.JPG

2 REPLIES 2
Highlighted
Community Support
Community Support

Re: Retry Policy Exponential Interval Explanation

HI @abeguliev ,

 

The default retry attempts is 4 times. However, we could configure the retry policy depends on our scenario.

 

What you were saying on the Minimum interval and maximum interval is correct.

 

Please also check the following blog for a reference:

https://veenstra.me.uk/2018/08/03/microsoft-flow-protect-your-sharepoint-flows-from-overload-better/

 

By the way, you also need to follow the limits on Retry policy:

https://docs.microsoft.com/en-us/flow/limits-and-config

 

Best regards,

Mabel

 

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Highlighted
Advocate V
Advocate V

Re: Retry Policy Exponential Interval Explanation

@abeguliev, setting a minimum will not cause the deltas to exponentially decrease. The min/max are just boundaries to the retry delta, which is determined primarily from the required "interval" field and the retry number. If you omit a max but provide a min, then the max interval range will just be determined by the algorithm's normal behavior.

 

---

I found this post while searching for the same explanation about the peculiar exponential retry options (still with no clear documentation linked from Flow). The only reply was ambiguous on the behvior of the minimum interval, so I did my own research and testing. Since this is the top hit on Google for "microsoft flow exponential retry" and I expect others will find their way here looking for answers, I'll post my findings.

 

First off, it looks like the feature was added in response this request in Logic Apps. Here's the Azure Logic Apps explanation of the implemented feature. It explains the exponential retry policy as "a random interval selected from an exponentially growing range before sending the next request."

 

Since Flow is executed on Logic Apps, I believe the documentaiton for Logic Apps applies to Flow. Here's a screenshot showing how the Flow Action retry settings map to the Logic Apps documentation:

 

2019-10-22 09_22_13-Window.png

 

To verify this, I did some testing in Flow.

 

I made a simple Flow which returns 429 status.

 

2019-10-22 09_25_59-Window.png

 

Then triggered it with varying retry settings and retry-after headers.

 

2019-10-22 09_28_04-Window.png

 

Here are the results:

 

  • "none" retry policy
    • no retries
    • action fails immediately
  • "fixed" retry policy
    • retries at equal intervals based on "count" setting
    • interval is the greater value of the action's "interval" policy or the "retry-after" response header
    • tests
      • interval=PT5S, retry-after=10, intervals were roughly 10s
      • interval=PT15S, retry-after=5, intervals were roughly 15s
  • "exponential" retry policy
    • retries at randomly chosen intervals within an exponentially increasing range
    • see Logic Apps exponential interval retry policy explanation
    •  tests
      • interval=PT5S, retry-after=1, retry deltas were 6/9/15
      • interval=PT5S, retry-after=2, retry deltas were 6/6/12 and 6/10/15
      • interval=PT5S, retry-after=4, retry deltas were 5/9/11
      • interval=PT5S, retry-after=10, retry deltas were 11/10/17
      • interval=PT5S, maximum=PT10S, retry-after=1, retry deltas were 5/10/10
      • interval=PT10S, minimum=PT5S, retry-after=1, retry deltas were 6/20/21
      • interval=PT10S, minimum=PT10S, retry-after=1, retry deltas were 11/18/33

Helpful resources

Announcements
firstImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

firstImage

Join the new Power Virtual Agents Community!

We are excited to announce the launch of Power Virtual Agents Community. Check it out now!

firstImage

New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!

thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

Top Solution Authors
Top Kudoed Authors
Users online (10,467)