Skip to main content


 

Symptoms


IPC events getting lost with High Volume
 

Diagnoses


When executing a number of between 500 and a 1000 instances of an IPC event which calls a parent which call a child only returns a few and not all the started instances (this is intermittent).

1. Create 3 Processes. (Parent, Child and Starter Process)
2. In the Child Process, create a SmartObject event to save information to a SmartObject.
3. In the Parent Process, create a SmartObject event to create a new record in a Smartbox SmartObject. Then create an IPC event to call the Child Process.
4. Deploy and test. (Make sure that your K2Service account have Start rights on the Parent and Child Process.)
5. Create a Smartbox SmartObject to store the Start Date and End Date. You pass the number of processes you want to start as a Parameter. If you run a "SELECT * FROM andltyour table nameandgt" in the K2 DB, you can quickly monitor how many IPC events were started and how many didn't.

You will notice that only some of the IPC events actually gets started.
When testing with low values like 100, 200, 300, and 400 then it works fine. But when the test is done with anything above 500 then the issue arises.
 

Resolution

The main issue here is the way the workflows are set up, the large number of IPC's which were started by using slots should be taken into account.

To get around this issue, you need a Succeeding Rule.
Without the succeeding rule, the process will finish as soon as the first IPC returns and will stop creating more IPC processes.
The succeeding rule will prevent the process form finishing before all the IPC parent process had been started.




 
Be the first to reply!

Reply