Overriding Logic Element Timeout

Why

Within a logic it is possible to override the timeout of a particular element. Use this override carefully, since it may lead to a hidden performance problem.

When to Use

There are many valid reasons to use the timeout override. It's usually necessary because data lookups take time, or processing time. Using the override because lookups are causing a timeout is perfectly acceptable. Using the override because processing time is causing a timeout should be done with caution: In one of the example cases, the timeout override was increased to a value of 900. After careful analysis of the logic element Groovy code, we identified that a change there brought back the execution time to less than 30 seconds! It is required to ensure code is optimal if you are increasing timeouts due to processing time.

When Not to Use

In general, it should not be necessary to increase the timeout override past 100. If you feel you need to do so, then you're likely doing too many lookups or code is incredibly inefficient. It is not recommended to increase timeout override past 100. The performance stack can be found in the UI for non-distributed jobs. For distributed jobs, this is trickier and you can exceptionally ask a Support engineer to provide this to you. Carefully analyze the performance stack to understand what portion of the code takes long and address that with a code or design change.

It is mandatory to strongly justify timeout overrides, as they are often used to ignore performance issues that will cause issues later.

 

Set a timeout override to a reasonable value to avoid a potential performance problem.

 

References:



Found an issue in documentation? Write to us.