2

In Sitecore.config for Sitecore 9.0.2 I see the following comment:

  <!-- RETRYER
         Example transient retryer:
         <retryer disabled="false" type="Sitecore.Data.DataProviders.TransientRetryer, Sitecore.Kernel">
          <param desc="Log each exception (should be used for debug only)">true</param>
        </retryer>
    -->

We use SQL Azure and I wonder if TransientRetryer should be enabled. I could not find an official documentation for it.

1

Internally the Sitecore's TransientRetrier uses Microsoft's Transient Fault Handling Application Block, which is optimized to handle SQL Azure transient errors. More details here: https://docs.microsoft.com/en-us/previous-versions/msp-n-p/hh680934(v=pandp.50)#sec2

It is perfectly fine and even advisable to keep the retryer enabled in Azure, since transient faults happen more often in the cloud due to the way Azure works (https://docs.microsoft.com/en-us/azure/sql-database/sql-database-connectivity-issues)

  • Hi Vitalli, have you found an official Sitecore documentation or comment that would recommend turning it on for Azure deployments? I have created a sample Azure Web App deployment in Azure Portal and saw that even Sitecore's deployment does not use TransientRetrier. I'm a bit surprised about this. – Alex S Apr 10 at 16:21
  • I have not seen any official documentation from Sitecore about enabling this for Azure. The only mention of retryer I saw is: doc.sitecore.com/developers/90/… I based my answer on personal experience related to handling transient fault errors in SQL Azure (in non-Sitecore context). If you would like an official confirmation, I advice you to file a ticket to Sitecore support. You can also ask them to update the documentation on this :) I am also quite surprised that it is not mentioned anywhere. – Vitalii Tylyk Apr 11 at 9:51
0

I have found the following Sitecore support response on December 27th, 2018:

Issue definition: If we are hosting our databases in Azure, should we be using Sitecore.Data.DataProviders.TransientRetryer declaration?

There are no specific recommendations on this from Sitecore side. I have raised a request to our Product Department and Documentation team so they will consider adding documentation on the matter. The request is to add documentation on the Sitecore TransientRetryer and available policies as well as clarify if there are any specific recommendations from Sitecore while hosting databases on Azure.

You can consider utilizing Sitecore TransientRetryer according to the general practices. Sitecore TransientRetryer utilizes Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.

Also, I have found the following pieces of information in the Sitecore.config file:

<!-- RETRYER
       When enabled, the Retryer resends failed database requests a specified number of times.
       For example, this is useful if you configure a Sitecore instance to support hot failover for database calls.
       Default value: disabled="true"
       Example transient retryer:
       <retryer disabled="false" type="Sitecore.Data.DataProviders.TransientRetryer, Sitecore.Kernel">
        <param desc="Log each exception (should be used for debug only)">true</param>
      </retryer>
  -->

And in the Web.config:

<section name="RetryPolicyConfiguration" type="Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Configuration.RetryPolicyConfigurationSettings, Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.Configuration, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />

<RetryPolicyConfiguration defaultRetryStrategy="Fixed Interval Retry Strategy" defaultSqlConnectionRetryStrategy="Incremental Retry Strategy">
  <incremental name="Incremental Retry Strategy" retryIncrement="00:00:01" initialInterval="00:00:01" maxRetryCount="10" />
  <fixedInterval name="Fixed Interval Retry Strategy" retryInterval="00:00:01" maxRetryCount="10" />
  <exponentialBackoff name="Backoff Retry Strategy" minBackoff="00:00:01" maxBackoff="00:00:30" deltaBackoff="00:00:10" maxRetryCount="6" firstFastRetry="false"/>
</RetryPolicyConfiguration>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.