Hello,
We are running Camunda in a cluster with 3 nodes pointing to the same DB. They all have the same setup. Each node has a Job executor that runs the processes. The config is default. I only have maxJobsPerAcquisition=100 because it seems to perform a bit better in our case.
The case consists of 2 processes. Process A has a Call Activity which executes Process B.
Process B has 2 parallel branches. One of them has a Task which sends a message to our messaging system. The Task is marked Asynchronous before = true, Exclusive = true. I believe that this should ensure that the Task is executed only once. In my case however the Task is executed 2 times in about 50 out of 20.000 started workflows. It is sometimes even executed twice by the same node in the cluster.
I start instances of Process A as fast as I can (about 150/s) through API calls on one of the nodes.
EDIT:
The critical task uses a Java Delegate to send the message to our messaging system.
Process A:
SL_request_reply_usage_no_wait.bpmn (5.1 KB)
Process B:
SL_request_reply.bpmn (6.5 KB)
Thank you all for your response.
Jiri