Symptoms
I have three level workflow, and on every step, I want to rework activity. But when on second level, when I clicked on send back, a duplicate request gets generated.
Diagnoses
The duplicate request refers to duplicate records that got inserted into the database table. K2 is still working fine and passing around the correct number of worklist items.
The duplicate records were introduced in a form rule. In a particular state, the Send Back button calls the Save method of a view in the form. For the Save method to update existing values, a valid ID must be provided. In this case, the ID that was mapped was empty, and instead of updating existing values, the Save method inserts a new record (with duplicated values).
Resolution
Modified the View to include a control that is mapped to the ID field. Then modified the problematic form rule to change the Save method's ID mapping to use the ID control instead. That way a valid ID is being passed and existing record got their values updated.