Transient Fault Handling Framework for SQL Azure, Azure Storage Services


SQL Azure databases is a distributed system in which each physical server hosts many databases. This sharing of resources leads to capacity constraints on operation throughput. SQL Azure handles these capacity by throttling operations & closing connections that are using too many resources. SQL Azure also closes connections when it alleviates operational hot spots by switching from a primary  SQL Azure database to one of its two backup databases.

One of the cloud development strategy is “Design for Failure” . It’s important that applications using SQL Azure being designed to handle failures appropriately.

There are two kinds of error:

1. Permanent Error: Indicating failure of a part of the system.

2. Transient Error: Existing only a brief time.

Permanent errors may be the indicate the logical problem with the application – and handle transient errors gracefully by retrying the operation that led to the error in hope that it does not recur. A dropped connection should be regarded as transient and application should respond to a dropped connection by opening new connection and retrying the operation.

There remains the problem of distinguishing permanent from transient errors. This can be done by comparing the error returned from a failed operation with known list of transient errors. An application can therefore include a retry mechanism that checks the status of operations and retries any operations that experienced a transient error.

 

The Windows Azure Appfabric Customer Advisory team has made available on MSDN code gallery the source code & pre-compiled assemblies for Transient Fault Handling Framework for SQL Azure , Azure Storage Services , Azure Appfabric Service Bus & Caching Services.

Download Here:  http://code.msdn.microsoft.com/Transient-Fault-Handling-b209151f              (C# Code)

  • Features of the framework:
  • Provides the foundation for building high extensible logic for handling a variety of transient conditions, not limited to SQL Azure.
  • Supports a range of pre-defined retry policies (Fixed retry interval, Progessive retry interval)
  • Supports seperate retry policy for SQL  connections & SQL Commands for adding flexibility.

 

 

 

Advertisements

About Anindita
Anindita Basak is working as Big Data Cloud Consultant in Microsoft. Worked in multiple MNCs as Developer & Senior Developer on Microsoft Azure, Data Platform, IoT & BI , Data Visualization, Data warehousing & ETL & of course in Hadoop platform.She played both as FTE & v- employee in Azure platform teams of Microsoft.Passionate about .NET , Java, Python & Data Science. She is also an active Big Data & Cloud Trainer & would love share her experience in IT Training Industry. She is an author, forum contributor, blogger & technical reviewer of various books on Big Data Hadoop, HDInsight, IoT & Data Science, SQL Server PDW & PowerBI.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: