Cumulative Update 7 for AppFabric 1.1 KB3092423 – CU7

Microsoft has released Cumulative Update (CU) 7 for App Fabric 1.1 – KB3092423. The fine SharePoint folk out there know App Fabric as the SharePoint Distributed Cache. It is an important prerequisite that SharePoint 2013 & SharePoint 2016 require prior to installation. In fact, SharePoint security, performance and some social features heavily rely on the Distributed Cache working properly.

Cumulative Update 7 for App Fabric 1.1 has a fix for intermittent crashes and unexpected behaviour when managing the service.

Microsoft has reported the following three issues have been fixed with this Cumulative Update 7.

CU 7 is a requirement for SharePoint 2016. This is what I got when I tried to install SharePoint 2016:2015-11-25_18-55-08

App Fabric Cumulative Update 7 fixes the following issues:

Issue 1

The AppFabric Caching service crashes intermittently with the following exception:

{System.Runtime.CallbackException: Async Callback threw an exception. —> System.NullReferenceException: Object reference not set to an instance of an object.
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.CommunicationObject.EndOpen(IAsyncResult result)
at Microsoft.ApplicationServer.Caching.WcfServerChannel.OnOpen(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
— End of inner exception stack trace —
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
Issue 2

Note – May not apply in SharePoint as we use Stop-SPDistributedCacheServiceInstance –Graceful to gracefully stop a cache host.

When you run the Stop-CacheHost AppFabric PowerShell command together with the -Graceful switch (in SharePoint, we use), you can’t stop the cache host, and you receive the following error message:

Exception type: System.Collections.Generic.KeyNotFoundException
Message: The given key was not present in the dictionary.
InnerException: <none>
StackTrace (generated):
SP IP Function
000000001F28DAA0 000007FEF611C96F mscorlib_ni!System.Collections.Generic.Dictionary`2[[System.__Canon, mscorlib],[System.Boolean, mscorlib]].get_Item(System.__Canon)+0x4098ff

000000001F28DAD0 000007FF007A860B Microsoft_ApplicationServer_Caching_Management!Microsoft.ApplicationServer.Caching.AdminApi.CacheAdmin.GetNoOfNodesInServiceState(System.Collections.Generic.List`1<Microsoft.ApplicationServer.Caching.IHostConfiguration> ByRef, Microsoft.ApplicationServer.Caching.AdminApi.ProgressDelegate, Microsoft.ApplicationServer.Caching.AdminApi.ServiceStatus)+0xfb 000000001F28DBD0 000007FF007A83F1 Microsoft_ApplicationServer_Caching_Management!
Issue 3
Note – May not apply to how we work in SharePoint as we use Add-SPDistributedCacheServiceInstance to register a Cache host.

When you run the Register-CacheHost AppFabric PowerShell command, the command fails, and you receive the following error message:

Register-CacheHost : ErrorCode<PortAlreadyInUseError>:SubStatus<ES0001>:TCP port 22234 is already in use.
Note This failure generally occurs if the cache ports are bound to any IP address.

Source: https://support.microsoft.com/en-us/kb/3092423#/en-us/kb/3092423

 

To check AppFabric version on your server, run this in PowerShell:

(Get-ItemProperty "C:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules\DistributedCacheConfiguration\Microsoft.ApplicationServer.Caching.Configuration.dll" -Name VersionInfo).VersionInfo.ProductVersion


So how do you go about applying Cumulative Updates to the SharePoint Distributed Cache (App Fabric 1.1)?

I have documented the manual steps here as there are many misleading blog posts out there. Feel free to copy this article and use this in your organisations Standard Operating Procedure (SOP) documents: http://www.jeremytaylor.net/2015/09/17/how-to-patch-sharepoint-distributed-cache-the-proper-way/

 

AppFabric 1.1 CU versions index:

RTM: 1.0.4632 (29-Nov-2011)

CU1: 1.0.4639 (20-Feb-2012) – KB2671763

CU2: 1.0.4644 (29-May-12) – KB2716015

CU3: 1.0.4652.2 (27-Nov-2012) – KB2787717

CU4: 1.0.4653.2 (28-Mar-2013) – KB2800726

CU5: 1.0.4655.2 (03-Mar-2014) – KB2932678

CU6: 1.0.4656.2 (27-Feb-2015) – KB3042099

CU7: 1.0.4657.2 (01- Sept-2015) – KB3092423

 


Cumulative Update 6 for AppFabric 1.1 KB3042099 – CU6

Once again, an AppFabric 1.1 Cumulative Update has been released without a notification from the AppFabric / Windows Azure / Distributed Services Support Team.

Cumulative Update 6 for AppFabric 1.1:

Contains bug fixes for both the caching and hosting services provided in AppFabric 1.1.

 

Cumulative Update 6 File publish date:

21st April 2015

KB3042099 publish date:

1st May 2015

 

Issues that are fixed:

Issue 1: Caching issue

Under certain rare conditions, a cache item could end up in an inconsistent state. Therefore, the AppFabric Cache service may crash because of an unhandled exception. Examples of such an exception include the following.

Exception 1

System.NullReferenceException at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PreProcess(), with the error message “Object reference not set to an instance of an object.”

Exception 2

Microsoft.Fabric.Common.ReleaseAssertException at Microsoft.Fabric.Common.ReleaseAssert.Fail(), with the error message “Operation of type COMMIT_DELETE is not expected to fail during postoperation – System.NullReferenceException: Object reference not set to an instance of an object.”

 

 

Since I haven’t come across this issue, I wasn’t sure if these ‘rare conditions’ would apply to our Distributed Cache service in SharePoint 2013. Here are some questions that I hope I could answer:

 

Question: Have other users experienced this?

Answer: According to this post, this was a known issue way back in May 2011 and a Microsoft rep answered that it ‘will be fixed in coming release of appfabric caching’ – May 25, 2011.

https://social.msdn.microsoft.com/Forums/en-US/1e5b050f-d365-495d-bbd2-011313f4a250/appfabric-service-crashing-frequently?forum=velocity

 

Question: Does this apply to SharePoint 2013 Distributed Cache?

Answer: Yes it does! Because SharePoint Updates do not update the AppFabric software running on the SharePoint 2013 server. After AppFabric and SharePoint are installed on the server, AppFabric will continue to be updated independently from SharePoint. Reference: https://support.microsoft.com/en-au/kb/2843251

 

AppFabric can be installed on the following operating systems:

  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2
  • Windows Server 2008 Service Pack 2

AppFabric can be installed for development and testing on the following operating systems:

  • Windows 8
  • Windows 7
  • Windows Vista Service Pack 2

Supported Architectures:

  • 32-bit (x86)
  • 64-bit (x64)

Software Requirements:

  • To apply this Cumulative Update package, AppFabric 1.1 for Windows Server must already be installed on the computer.
  • Additionally, you must have the Microsoft .NET Framework 4.5 installed.

 

ATTENTION AppFabric support:

On 2nd April 2015, Microsoft announced end of support for Microsoft AppFabric 1.1 starting 2nd April 2016. However, we learned that SharePoint Server 2016 will utilise AppFabric, so what will happen to AppFabric support? At the Ignite Conference, Bill Baer announced that Microsoft will support technologies such as SharePoint 2016 that have a dependency on AppFabric.

 

 AppFabric 1.1 cache dll versions Microsoft has released:

RTM: 1.0.4632 (29-Nov-2011)

CU1: 1.0.4639 (20-Feb-2012) – KB2671763

CU2: 1.0.4644 (29-May-12) – KB2716015

CU3: 1.0.4652.2 (27-Nov-2012) – KB2787717

CU4: 1.0.4653.2 (28-Mar-2013) – KB2800726

CU5: 1.0.4655.2 (03-Mar-2014) – KB2932678

CU6: 1.0.4656.2 (27-Feb-2015) – KB3042099

 

To check AppFabric version on your server, run this in PowerShell:

(Get-ItemProperty “C:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules\DistributedCacheConfiguration\Microsoft.ApplicationServer.Caching.Configuration.dll” -Name VersionInfo).VersionInfo.ProductVersion

 

How to patch the Distributed Cache in SharePoint 2013

Don’t forget to gracefully stop the SharePoint Distributed Cache Service Instance before applying the Cumulative Update.

http://www.wictorwilen.se/how-to-patch-the-distributed-cache-in-sharepoint-2013

 

To read more about this Cumulative Update 6, visit:

https://support.microsoft.com/en-us/kb/3042099

 

 To search for other Cumulative Updates for AppFabric, visit:

https://support.microsoft.com/en-us/search?query=Cumulative%20Update%20Microsoft%20AppFabric%201.1&p=

 

 

 

I highly recommend you to visit & bookmark my page on SharePoint, SQL Update Centers:

http://www.jeremytaylor.net/2014/04/12/latest-cumulative-updates-service-packs-hotfixes-sharepoint-sql/