Symptoms
Error When we try to move to next activitie the workflows migrated from k2 4.5 to k2 4.6.11
Diagnoses
Hi,
As part of the migration K2 4.5 to 4.6.11, we try to use the workflows of the old platform 4.5. We haved prepared some flux from the application magdalena before the migration in order to move them to the next step. After our tests, they dont progress. Withour any error.
In the webservice, we call the method action.Execute, but nothing happens. the flux doesnt go to the next step.
foreach (SourceCode.Workflow.Client.WorklistItem worklistItem in connection.OpenWorklist(wc))
{
if (worklistItem.ProcessInstance.Folio.Trim() == folio.Trim())
{
foreach (SourceCode.Workflow.Client.Action action in worklistItem.Actions)
{
if (action.Name == _action " - Task Completed")
action.Execute()
}
}
}
To see, if there is a problem, we try to go to the next activity manually in blackpearl workspace and we have the error in the attachment.
Thx for your help
Resolution
Dear Loïc,
ISSUE:
After migration from 4.5 to 4.6.11, customer getting the following error in K2 Host Server log:
"24143 Unable to Forward Cluster Message, server entry 1 not found" from Blackpearl Server.
Using the Management Console, this error was displayed when trying to use "Goto Activity" from an instance.
RESOLUTION:
This error message typically indicates that one or more records in the ProcInst table (K2Server database) are set to execute against a server that is either no longer in the _Server table, or is no longer online. It appears there is a Server ID of "1" that is not your live blackpearl server.
I would start by determining which server(s) exist in the following table:
--List of server:
SELECT * FROM RServer].eServer]
If you only have a single K2 blackpearl server, there should only be 1 row in the table. If there is more than 1 row, you likely have a decommissioned server referenced in the database, which you should remove.
After that, determine which process instances are set to run against any server ID other than the good server(s) in the _Server table:
--List of impacted rows:
SELECT * FROM RServer].eProcInst]
where ServerID NOT in (select ID from rServer].eServer])
AND (ServerId<>0 OR (SELECT COUNT(*) FROM RServer].eServer])>1)
--Summary of use of server:
SELECT DISTINCT ServerID,COUNT(*)
FROM RServer].eProcInst]
GROUP BY ServerID
Once you have a list of process instances set to execute against an invalid server, do the following:
1 - Do a backup of the K2 Database
2 - Stop the K2 service
3 - Change the serverID of each of the above process instances to a value of 0 :
--Fix
UPDATE AServer].eProcInst] SET ServerID=0
WHERE ServerID<>0
4 - Restart the k2 server. The k2 server will process any records set to "0" and reassign them correctly to a valid server ID.
We fixed this issue with the customer during web-meeting.
You have 2 days to accept or reject this resolution. If you feel the issue is not resolved, please reject this resolution.
Otherwise, please take the opportunity to submit feedback, using the link included in this message.
Thanks, and regards
Olivier Chatagnon