We have a map with an Exclusive Gateway. In each of the legs is a Message Intermediate catch event.
We are using the API to deliver the message, and we are getting the following error:
Caused by: org.camunda.bpm.engine.MismatchingMessageCorrelationException: ENGINE-13031 Cannot correlate a message with name ‘message-generate-statement’ to a single execution. 2 executions match the correlation keys: CorrelationSet [businessKey=122844, processInstanceId=17a380c5-d068-11ec-92d7-a4bf0107a16a, processDefinitionId=null, correlationKeys=null, localCorrelationKeys=null, tenantId=null, isTenantIdSet=false]
The messages both have the same process instance id and business key. When we send the message to Camunda , the cases are not moving, and Camunda throws the above error.
We have other maps without parallel message tasks where this is not an issue
Is there a way to resolve this?
What differentiates the two instances of the process?
The business key is the same.
The InstanceID is the same.
So… from a business perspective, what makes them different?
The two legs of the exclusive split won’t create two instances of the process.
The message name is different
The message name that is being received is the same (ie. you have two points in process instance with Business Key 122844 that are waiting to receive the message ‘message-generate-statement’, or two different instances of a process with Business Key 122844 that are waiting for message ‘message-generate-statement’ - this latter option is very unlikely, since Camunda will also try to match on the instance GUID), otherwise you won’t get that message.
Is it possible that you have two links between your Exclusive Gateway and your Intermediate Message Catch?
Is it possible to share a copy of a minimal BPMN that you confirm causes this issue?