<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Azure Guidance – Failure recovery – Part III (Small tweak, great benefits)</title><link>http://blogs.msdn.com/b/eugeniop/archive/2010/05/04/windows-azure-guidance-failure-recovery-part-iii-small-tweak-great-benefits.aspx</link><description>In the previous post , my question was about a small change in the code that would yield a big improvement. The answer is: &amp;#160; What changed? No try / catch We reversed the order of writes : first we write the details, then we write the “header” or</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Windows Azure Guidance – Failure recovery – Part III (Small tweak, great benefits)</title><link>http://blogs.msdn.com/b/eugeniop/archive/2010/05/04/windows-azure-guidance-failure-recovery-part-iii-small-tweak-great-benefits.aspx#10013876</link><pubDate>Sun, 16 May 2010 23:17:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10013876</guid><dc:creator>Panagiotis Kefalidis</dc:creator><description>&lt;p&gt;Oh, I see your point now. You successfully described this as a &amp;quot;pull the plug&amp;quot; scenario. You can't rely on your catch but that's the case on non-cloud solutions too. At any moment a running application can terminate ungracefully, leaving a system in a bad, &amp;quot;dirty&amp;quot; if you want state. I'm not sure if such a scenario exists in Windows Azure. I mean, there is a 30 second notice before shutdown on your instances. A possible hardware failure would probably be forseen before happening, allowing the platform to provide those 30 seconds before switching bringing a new instance to life one some new hardware. If your application is running over the wire, then are some other points of failure too. Then again, having an &amp;quot;always, something can fail&amp;quot; approach is not bad, if properly applied. My concern is how to achieve that thin line between an &amp;quot;overkill&amp;quot; approach which can hurt productivity by being over-cautious to being completely reckless.&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Panagiotis&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10013876" width="1" height="1"&gt;</description></item><item><title>re: Windows Azure Guidance – Failure recovery – Part III (Small tweak, great benefits)</title><link>http://blogs.msdn.com/b/eugeniop/archive/2010/05/04/windows-azure-guidance-failure-recovery-part-iii-small-tweak-great-benefits.aspx#10011944</link><pubDate>Wed, 12 May 2010 18:46:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10011944</guid><dc:creator>Eugenio Pace - MSFT</dc:creator><description>&lt;p&gt;Thanks Panagiotis, &lt;/p&gt;
&lt;p&gt;You can keep the try/catch. In a system like this, it is likely the repository is called by many layers of differetn components before returning to the user. So the excpetion at this level will be caught by someone before returning to the user.&lt;/p&gt;
&lt;p&gt;The point of the blog post is that you can't rely on your &amp;quot;catch&amp;quot; executing at all. The server might go away before it reaches that point. What do you do then?&lt;/p&gt;
&lt;p&gt;The code above leaves the system in a fairly consistent state. At least for a user perspective.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10011944" width="1" height="1"&gt;</description></item><item><title>re: Windows Azure Guidance – Failure recovery – Part III (Small tweak, great benefits)</title><link>http://blogs.msdn.com/b/eugeniop/archive/2010/05/04/windows-azure-guidance-failure-recovery-part-iii-small-tweak-great-benefits.aspx#10011553</link><pubDate>Wed, 12 May 2010 10:49:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10011553</guid><dc:creator>Panagiotis Kefalidis</dc:creator><description>&lt;p&gt;Why did you remove the try catch? You can handle the exception and show a user friendly message. &lt;/p&gt;
&lt;p&gt;Putting header save in the a nested try catch could help you track which part crashed and show an appropriate error message. &lt;/p&gt;
&lt;p&gt;Or is it just that you want to show an exception to the user to warn him that something went wrong, and the &amp;quot;beautification&amp;quot; of your code is left as an excercise for the reader? :)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10011553" width="1" height="1"&gt;</description></item><item><title>re: Windows Azure Guidance – Failure recovery – Part III (Small tweak, great benefits)</title><link>http://blogs.msdn.com/b/eugeniop/archive/2010/05/04/windows-azure-guidance-failure-recovery-part-iii-small-tweak-great-benefits.aspx#10011030</link><pubDate>Tue, 11 May 2010 15:34:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10011030</guid><dc:creator>TM-naiman</dc:creator><description>&lt;p&gt;Thank &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10011030" width="1" height="1"&gt;</description></item></channel></rss>