I have an object in my Parent Workflow. And I have a couple of child workflows which need to access and update this object. Also note, I can have my child workflows running parallely.
I have a query method in parent class to expose this object to child Workflows.
I have a signal method in parent class to let child worklfows to update the object via signal
To summarize, Childworkflows invoke the query method and get hold of the object, they modify the object and invoke the signal method to have it updated in parent workflow
Signal method is not working. It throws “Potential Deadlock detected, workflow thread - “workflow method” didn’t yield any result”.
Is this an expected behaviour? Can’t child workflows signl Parent Workflow?
Are signals and queries the right way to deal with shared state between Parent and Child workflows?
As all the child workflows will be executed by one thread, is there a need to have explicit synchronization in place? If one of the child workflow is updating the shared Object X, should we lock it to prevent other workflow from doing the same?