<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Yet Another Non-Deterministic BizTalk Zombie Pattern</title>
	<atom:link href="http://www.modhul.com/2008/06/08/yet-another-non-deterministic-biztalk-zombie-pattern/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.modhul.com/2008/06/08/yet-another-non-deterministic-biztalk-zombie-pattern/</link>
	<description>Experiences of a UK BizTalk Consultant</description>
	<lastBuildDate>Mon, 15 Mar 2010 01:21:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Gregory Van de Wiele</title>
		<link>http://www.modhul.com/2008/06/08/yet-another-non-deterministic-biztalk-zombie-pattern/comment-page-1/#comment-128</link>
		<dc:creator>Gregory Van de Wiele</dc:creator>
		<pubDate>Mon, 09 Jun 2008 12:22:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.modhul.com/?p=143#comment-128</guid>
		<description>Joe Duffy, whois an expert on all things multi-t and locking, and regularly writes for MSDN magazine wrote this once:

13. A race condition or deadlock in library code is always a bug.

http://www.bluebytesoftware.com/blog/PermaLink,guid,f8404ab3-e3e6-4933-a5bc-b69348deedba.aspx

BizTalk is the library in this case and this problem should have been better addressed by MS.

A workaround for certain scenarios much like the one of Victor: disable the receive location by code in the orchestration, wait twice the cache interval (forgot why exactly) and asynchronously start orchestration that enables the RL.  

Antoher workaround that I used for singleton: a service window around midnight for the RL, inside the delay branch of the listen shape you can check the time and if you are inside the service window (take a margin here + or - 1 or 2 minutes) you can more or less safely recycle. That solved the problem for me. I guess it is not bullet proof either but it worked for us.

Gregory</description>
		<content:encoded><![CDATA[<p>Joe Duffy, whois an expert on all things multi-t and locking, and regularly writes for MSDN magazine wrote this once:</p>
<p>13. A race condition or deadlock in library code is always a bug.</p>
<p><a href="http://www.bluebytesoftware.com/blog/PermaLink,guid,f8404ab3-e3e6-4933-a5bc-b69348deedba.aspx" rel="nofollow">http://www.bluebytesoftware.com/blog/PermaLink,guid,f8404ab3-e3e6-4933-a5bc-b69348deedba.aspx</a></p>
<p>BizTalk is the library in this case and this problem should have been better addressed by MS.</p>
<p>A workaround for certain scenarios much like the one of Victor: disable the receive location by code in the orchestration, wait twice the cache interval (forgot why exactly) and asynchronously start orchestration that enables the RL.  </p>
<p>Antoher workaround that I used for singleton: a service window around midnight for the RL, inside the delay branch of the listen shape you can check the time and if you are inside the service window (take a margin here + or &#8211; 1 or 2 minutes) you can more or less safely recycle. That solved the problem for me. I guess it is not bullet proof either but it worked for us.</p>
<p>Gregory</p>
]]></content:encoded>
	</item>
</channel>
</rss>
