I'm running Sitecore 8.2 Update 7, and I'm trying to use the Analytics Database Manager from the Sitecore Marketplace to prune some of my old Analytics Database. The issue is that after I install the Analytics Database Manager, I get the following error:
Exception System.IO.FileLoadException: Could not load file or assembly 'MongoDB.Driver, Version=220.127.116.11, Culture=neutral, PublicKeyToken=f686731cfb9cc103' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'MongoDB.Driver, Version=18.104.22.168, Culture=neutral, PublicKeyToken=f686731cfb9cc103' at ADM.Core.AnalyticsIndexManager.GetRecordsInPoolCount() at ADM.Controllers.ADMOperationsController.GetStatus() at lambda_method(Closure , Object , Object ) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.b__9(Object instance, Object methodParameters)
After doing some research, I figured out that it would appear that Sitecore updated the version of the MongoDB driver that it was using in 8.2 Update 5, and that this tool has not been updated since January of 2017. Also from our research, it looks like the new version of the MongoDB.Driver is not backwards compatible with version 1.10. This means that I do not have a clear path forward for pruning my Sitecore database.
After doing some brainstorming, my team has come up with a few different paths forward, but we are not sure of the best approach. Here's what we came up with:
- Decompile the
Sitecore.AnalyticsDatabaseManager.dllchange the reference to the correct version of the MongoDB.Driver, and hope that we don't have a lot of problems.
- Setup a new Sitecore 8.2 Update 4 instance and point that to our MongoDB, and hope that we don't have any issues with the Update 4 and Update 7 MongoDB calls conflicting with each other.
- Do our own MongoDB queries, hoping that we don't blow anything up with our limited knowledge of how Sitecore is using the MongoDB data.
Is there a better option than the 3 that I've lined out here? Is there a different tool that I should be using instead of ADM?