<?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: NServiceBus and concurrency</title>
	<atom:link href="http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Wed, 22 May 2013 13:39:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: The Morning Brew - Chris Alcock &#187; The Morning Brew #1225</title>
		<link>http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/#comment-5148</link>
		<dc:creator>The Morning Brew - Chris Alcock &#187; The Morning Brew #1225</dc:creator>
		<pubDate>Mon, 05 Nov 2012 09:53:20 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=685#comment-5148</guid>
		<description>[...] NServiceBus and concurrency - Jimmy Bogard discusses the use of transaction isolation with NServiceBus, giving an overview of the transaction types available, and reviewing how you can choose isolation level. [...]</description>
		<content:encoded><![CDATA[<p>[...] NServiceBus and concurrency &#8211; Jimmy Bogard discusses the use of transaction isolation with NServiceBus, giving an overview of the transaction types available, and reviewing how you can choose isolation level. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carlos Ribas</title>
		<link>http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/#comment-5247</link>
		<dc:creator>Carlos Ribas</dc:creator>
		<pubDate>Fri, 02 Nov 2012 16:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=685#comment-5247</guid>
		<description>Yeah, that&#039;s what I changed it to.  We were updating entity&#039;s collection(s) of other entities for a set of roots in this case.  I was actually pretty shocked this could happen but I reproduced it easily with two query analyzer windows and then found some blog posts about it.  SQL Server is taking some shortcuts to look better in benchmarks IMO ;)  Anyway it works fine if you don&#039;t do stupid things like NH was doing in this case, lol</description>
		<content:encoded><![CDATA[<p>Yeah, that&#8217;s what I changed it to.  We were updating entity&#8217;s collection(s) of other entities for a set of roots in this case.  I was actually pretty shocked this could happen but I reproduced it easily with two query analyzer windows and then found some blog posts about it.  SQL Server is taking some shortcuts to look better in benchmarks IMO <img src='http://lostechies.com/jimmybogard/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   Anyway it works fine if you don&#8217;t do stupid things like NH was doing in this case, lol</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jbogard</title>
		<link>http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/#comment-5246</link>
		<dc:creator>jbogard</dc:creator>
		<pubDate>Fri, 02 Nov 2012 15:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=685#comment-5246</guid>
		<description>Ha, wow! For me, I never use NH to do more than update an aggregate or entity. If I&#039;m updating things in sets, going just raw SQL (still through ISession) works a lot better. More control, too!

Thanks!</description>
		<content:encoded><![CDATA[<p>Ha, wow! For me, I never use NH to do more than update an aggregate or entity. If I&#8217;m updating things in sets, going just raw SQL (still through ISession) works a lot better. More control, too!</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carlos Ribas</title>
		<link>http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/#comment-5245</link>
		<dc:creator>Carlos Ribas</dc:creator>
		<pubDate>Fri, 02 Nov 2012 14:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=685#comment-5245</guid>
		<description>Jimmy, a heads-up: we&#039;ve seen SQL Server 2008 behave unexpectedly with Read Committed isolation level.  Specifically, NHibernate was doing hundreds of delete/insert/updates in a transaction and we saw duplicate rows that would be impossible if Read Committed worked as expected.  We found that it is possible to have two transactions modifying the same rows and for them to see each other&#039;s modifications before the transactions were committed.  This was of course SQL Server functioning as-designed, but not as one might expect with this isolation level.

We still went with Read Committed for performance reasons, but we cleaned up NHibernate&#039;s database interactions so that it does set operations using set commands instead of running hundreds of delete/insert/update statements.  After we did that, SQL Server&#039;s readcommitted functionality worked as expected for us.

An another note -- NServiceBus is changing their default isolation level to Read Committed in a future release.</description>
		<content:encoded><![CDATA[<p>Jimmy, a heads-up: we&#8217;ve seen SQL Server 2008 behave unexpectedly with Read Committed isolation level.  Specifically, NHibernate was doing hundreds of delete/insert/updates in a transaction and we saw duplicate rows that would be impossible if Read Committed worked as expected.  We found that it is possible to have two transactions modifying the same rows and for them to see each other&#8217;s modifications before the transactions were committed.  This was of course SQL Server functioning as-designed, but not as one might expect with this isolation level.</p>
<p>We still went with Read Committed for performance reasons, but we cleaned up NHibernate&#8217;s database interactions so that it does set operations using set commands instead of running hundreds of delete/insert/update statements.  After we did that, SQL Server&#8217;s readcommitted functionality worked as expected for us.</p>
<p>An another note &#8212; NServiceBus is changing their default isolation level to Read Committed in a future release.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Distributed Weekly 179 &#8212; Scott Banwart&#039;s Blog</title>
		<link>http://lostechies.com/jimmybogard/2012/11/01/nservicebus-and-concurrency/#comment-5142</link>
		<dc:creator>Distributed Weekly 179 &#8212; Scott Banwart&#039;s Blog</dc:creator>
		<pubDate>Fri, 02 Nov 2012 09:22:13 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=685#comment-5142</guid>
		<description>[...] NServiceBus and concurrency [...]</description>
		<content:encoded><![CDATA[<p>[...] NServiceBus and concurrency [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
