Enough of this spasmodically intermittent blogging! My new year resolution is to post at least once a week. So now that we've got that out of the way, lets discuss some interesting findings about the MQ Series Adapter 2.0 for BizTalk.

During performance testing, our team discovered that if the “TransactionSupported” property of a MQ Series receive location is set to “Yes”, and the “Maximum Messages in Batch” property is set to a number > 1, the adapter will rollback transactions even in case of Subscription Failures. Obviously in a lot of workflows, Subscription Failures are acceptable, even expected sometimes. Interestingly enough, the adapter doesn't rollback (put messages back on the queue), if “Maximum Messages in Batch” = 1, or if we put just one messages on to the queue and wait for the adapter to complete a poll cycle. Moreover the above behaviour is contradictory with what is written in this MS technical article on Transactions Across BizTalk Server 2004.

It was discovered that this is a known issue and there exists a hotfix (albeit not on the public internet) for this problem. So if you are facing this problem, just pick up the phone.