‘Lost’ messages from non-transactional called orchestration

I encountered a strange issue today which had me stumped – messages I was sending from an orchestration were never getting picked up and processed by subscriptions, but neither were they suspending or generating any error messages at all. It’s as if they were falling into a black hole never to be seen again!

The scenario, which you can test yourself, was that I had two orchestrations (A and B). A calls B, B sends a message to the message box, then A sends a message to the message box. B’s message was ‘disappearing’. Tthe HAT tool would show that it had been processed successfuly, and even more strangely if I put a suspend shape

The answer was of course transactions. A was a long-running transactional orchestration, whereas B was marked for no transaction. Switching B to be transactional solved the problem.

I could reason about why this might be the case, and in a strange way it does make some kind of sense, but needless to say this is a counter-intuitive and rather annoying behaviour! I would expect actions taken in orchestration B to join in with the transaction of the calling orchestration, rather than disappearing entirely!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: