This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice This article is not considered official documentation for K2 software and is provided "as is" with no warranties.

Issue

You observe K2 Five Workflow loop slowness and need to troubleshoot it. Consider the following examples:

  • The process contains a loop but the loop index is not changing (no changes in Data Audit).
  • The process went through the loop but is not moving on to the next step for some reason. In both cases after some time the process moves on and completes without errors.

This may require some generic approaches to troubleshoot workflow execution speed.

Symptoms

Your K2 Workflow contains a loop but the loop index is not changing (no changes in Data Audit). The process seemingly went through the loop but is not moving on to the next step. But in both cases after some time process moves on and completes without errors.

Troubleshooting Steps

1. Depending on your data source you may want to check slowness on the data source side first (e.g. if SQL Server acts as data source check performance there, and then measure performance of SmartObject calls in the Tester Tool) - you may need to do some optimization on the data source level.

2. Analyze the workflow design - if you loop through SmartObjects doing multiple SmartObject calls, then try to do your math calculating the total number of calls within the loop taking into account individual call(s) execution time.

3. If steps described above do not give you any hints on workflow slowness you can try to troubleshoot/debug this by means of adding a new SmarObject call (Create) on various workflow steps. This will give you a "logfile" in the SmartObject which you may want to create with the following properties:

- ID

- Date/Time

- What / Action / Comment.

Having this SmartObject call on multiple steps of the workflow you can see with time stamps how your workflow goes through different steps. This would give you some indication of what happens exactly and when it happens (date/time). Additionally, you can also use K2 reports to see how long some steps take and then analyze that further.