Friday, June 10, 2011

AppFabric Cache: Setting MaxBufferSize in a SQL Sever-based cluster configuration

The AppFabric Cache limits by default the size of individual items to 8MB. If you've gone over that limit, you have probably got this error already:

ErrorCode<ERRCA0016>:SubStatus<ES0001>:The connection was terminated, possibly due to server or network problems or serialized Object size is greater than MaxBufferSize on server. Result of the request is unknown.

To increase the limit, you can override the default MaxBufferSize value in the cluster XML configuration file.

<advancedProperties>
      <transportProperties maxBufferSize="10000000" />
</advancedProperties> 

But what happens if you're using SQL Server as the AppFabric Cache cluster configuration store? If you take a look at the Config DB, you'll quickly realize that the data stored over there looks nothing like the original xml. So how can we change this setting?

PowerShell to the rescue!  Use the command below to extract the configuration file that represents your cluster configuration. The command works regardless of the underlying configuration stored being used.

Export-CacheClusterConfig -File c:\config.xml 

Do the change in the file, stop the cluster, import the ammended config file and start the cluster again.

Stop-CacheCluster 
Import-CacheClusterConfig -File c:\config.xml -Force 
Start-CacheCluster 

Hope this helps!

2 comments:

  1. Thanks It Helped. I searched MSDN but could not find information about the default values for the TransportProperties. Any idea where we can find them.

    ReplyDelete