Blog Stats
  • Posts - 18
  • Articles - 0
  • Comments - 12
  • Trackbacks - 61

 

Atomic Scope "Batch" property...

Charles Young has a great post on transactions within orchestrations.  In it he mentions the Batch property of the ATOMIC scope.  I concur with him that the documentation on this is very light, as well as any information out in the communities.  Doing a little testing on my current project with Stephen Thomas (be sure to check out his blog), it has become apparent that the property acts just as Charles suspects.

Our particular scenario -

We had an orchestration processing a large sum of messages.  At one point in the orchestration, we were calling a component to insert the records into the database.  While that orchestration was processing the large batch of messages, we sent several very small batches of messages that quickly reached the same point in their instance of the orchestration (inserting the records through the component).  It turned out that the smaller messages would not complete processing thier messages until the large batch completed.

After we changed the property to be False (the proprety for some reason defaults to True, which seems a bit dangerous), redeployed and rean the test again, the much smaller messages completed ahead of the slower, larger batch of messages (our expected outcome originally).

So, keep in mind when using the Atomic transaction that this property defaults to True, and may have ill effects on your message processing.

Cheers!!


Feedback

# re: Atomic Scope "Batch" property...

Gravatar Hi Todd,
Thank you for ur post, but, please clarify which Young's speculation was true.
and please explain you point of view in details, this is a critical issue when it comes to batch process, BTW, I don't know that you work with Stephen Tomas, I really like his blog. You r like to work with a person like him, I think so
1/29/2005 9:53 PM | Tareq Muhammad

# re: Atomic Scope "Batch" property...

Gravatar Again, please give me urls of any good resource or samples regarding Transactions in BizTalk 1/29/2005 9:55 PM | Tareq Muhammad

# re: Atomic Scope "Batch" property...

Gravatar Tareq,
When you set the Batch property to True on an ATOMIC scope (it actually defaults to True), it treats messages that are the same type and destined for an orchestration that has an instance running as a batch of messages. This can have serious issues if you have messages of varying sizes. In our case, we had much larger files that took a couple of minutes to process, and while these were processing, the other inbound messages (same message, but much smaller) would not process until the large file was done.

Does this answer your question? 2/1/2005 4:35 PM | Todd Uhl

# re: Atomic Scope "Batch" property...

Gravatar yes,
So BizTalk Engine will not create a new orchestration instance for each input message in the same batch,
Thanks Todd for your feedback 2/3/2005 1:35 AM | Tareq Muhammad

# re: Atomic Scope "Batch" property...

Gravatar Tareq,
I would actually have to go back to my test scenario. I believe that a new instance of the orch was created, but at the point of the scope itself is where the messages were treated as a batch. Again, I would have to double check that though. 2/3/2005 2:37 PM | Todd Uhl

Post a comment





 

Please add 2 and 1 and type the answer here:

 

 

Copyright © Todd Uhl