The AppFabric Cache in our production crashes almost every day, and is highly unstable. The below errors are logged:
Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus:There is a temporary failure. Please retry later. (Sufficient secondaries not present or they are in throttled state.)
Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus:There is a temporary failure. Please retry later. (The request did not find the primary.)
AppFabric Caching service crashed.{Lease with external store expired: Microsoft.Fabric.Federation.ExternalRingStateStoreException: Lease already expired at Microsoft.Fabric.Data.ExternalStoreAuthority.UpdateNode(NodeInfo nodeInfo, TimeSpan timeout) at Microsoft.Fabric.Federation.SiteNode.PerformExternalRingStateStoreOperations(Boolean& canFormRing, Boolean isInsert, Boolean isJoining)}
Could someone please provide me some inputs? This is a HA enabled cache environment with 3 cache hosts. All of them are running on Windows Server 2008 Enterprise Edition, and the SQL Server is used for config.
AppFabric extends Windows Server to provide enhanced hosting, management, and caching capabilities for Web applications and middle-tier services. Enterprise Portal uses the AppFabric distributed, in-memory caching services to improve the performance and scalability of the application.
Click Start | Windows Server AppFabric | Configure AppFabric On the Before you begin page, click Next. On the Configure Hosting Services page, click Next (Perception does not use hosting services) On the Configure Caching Services screen, enable the Set Caching Services configuration check-box.
There are several symptoms of server unavailability. First, applications might receive a DataCacheException exception with an error code of RetryLater and an error substatus of CacheServerUnavailable :
Take a look at http://msdn.microsoft.com/en-us/library/ff921010.aspx in order to see the various tools and commands available for monitoring the health of a AppFabric cache cluster
We recently encountered this issue, and it appears to have been due to a defective Read-Through Provider. The Read-Through Provider was not properly managing (closing/disposing) its sql server pooled database connections.
During periods of high usage, we observed the "Lease with external store expired
" error as it seems the cache service was actually starved for an available connection to the configuration store.
The Performance Counters for .NET Data Provider for SqlServer were helpful in identifying this issue.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With