MongoDB C# driver 1.8 causes excessive arbiter connections


Description

Sitecore XP versions from 7.5 Initial Release to 8.0 Update-4 use Mongo C# driver version 1.8. This driver version can cause excessive connections to the xDB database being opened, as well as performance degradation.

Note: For additional information regarding using Sitecore XP 7.5 Initial — 8.0 Update-4 with MongoDB 2.6, please refer to the following article: MongoDB 2.6 compatibility issues for Sitecore XP 7.5 and 8.0.

Solution

To address the issue:

  1. Download the archive containing Mongo C# 1.10 driver.
  2. Extract the Mongo C# 1.10 driver files into the /bin folder for all Sitecore XP instances.
  3. Set up assembly redirection in the Web.config file for all Sitecore XP instances. Note that you must specify the full version numbers:
    <configuration>
    <runtime>
    <assemblyBinding>
    ...
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Bson" publicKeyToken="f686731cfb9cc103" culture="Neutral" /> 
    <bindingRedirect oldVersion="1.8.3.9" newVersion="1.10.0.62" /> 
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Driver" publicKeyToken="f686731cfb9cc103" culture="Neutral" /> 
    <bindingRedirect oldVersion="1.8.3.9" newVersion="1.10.0.62" /> 
    </dependentAssembly>
    ...
    </assemblyBinding>
    </runtime>
    </configuration>