Hi, I am implementing SAGA pattern in Camunda with Kafka. and I am using parallel gateways to send and receive the kafka messages.
for example: i have a Trip workflow and i am using parallel gateways for “Book Flight” ,“book Hotel” and parallelly "Car Reservation " Activity.
so when the process started then "Book Flight " and "Car Reservation " run parallelly. if any of activity failes then book flight and car reservation should be rollback and process should be completed. and complete the process. but my receive task is not completed and parallel gateways is also not completed.
Please let me know how can I handle this. i have try this scenario with subprocess and transaction subprocess. Trip-2.bpmn (24.9 KB) TransactionDemo.bpmn (15.3 KB)
But It is not solving my problem. in my design - if one service get failed then all the services will get rollback in parallel gateways and the token should be remove.
the provided process will do exactly this. After one service fails, every service that has already been executed will be rolled back with the compensation event and all tokens will be removed.
i have a transaction subprocess and inside it there are two Kafka (send and receive) services getting executed parallelly using parallel gateway.
if service1 Accomplished receive a error from kafka then all the services inside transaction subprocess will be rollback and all the open/active token got completed.
but if service3 Accomplished receive a error from kafka then the service1 and parallel gateway are remain active/open. I am not able to figure it out how can i handle this situation. Ideally if any service fails inside the transaction sub-process then all the services will be rollback and process should complete and token should move forward to next step. but in this case it is not happening.