Consistently getting these new Experience Analytics errors in log after Reporting Rebuild

4232 16:19:19 WARN [Experience Analytics]: Device detection component is not ready. Device model will be aggregated as classification unavailable.
4284 16:19:19 ERROR Exception when storing an aggregation result into reporting database. Item will be postponed and retried later.
Exception: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Sitecore.Configuration.Factory.AssignProperties(Object obj, Object[] properties)
at Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Analytics.Aggregation.SqlReportingStorageProvider.WriteDataSet(IScriptWriter writer, IAggregationDataSet dataset)
at Sitecore.Analytics.Aggregation.SqlReportingStorageProvider.Commit(SqlDataApi api, IReportingStorageItemBatch batch, Func`2 filter)
at Sitecore.Analytics.Aggregation.SqlReportingStorageProvider.<>c__DisplayClass6.<StoreBatch>b__1()
at Sitecore.Data.DataProviders.NullRetryer.ExecuteNoResult(Action action, Action recover)
at Sitecore.Analytics.Aggregation.SqlReportingStorageProvider.Store(IReportingStorageItemBatch batch)

Nested Exception

Exception: System.ArgumentException
Message: An item with the same key has already been added.
Source: mscorlib
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)

  • Hi Troy,
    From the error you are getting in your log files it appears that there is duplicate entry being performed for the same item.

    The key step while performing reporting rebuild.
    1. You should be using a clean Sitecore Analytics database.
    2. Also purge your sitecore_analytics_index folder.

    Please try rebuild again.
  • This appears to be related to the following: kb.sitecore.net/.../282795. In step 4 of the the solution for that issue, you are told to copy the bold lines tot /App_Config/Include/Sitecore.Analytics.Processing.Aggregation.config file. I inadvertently copied all of the lines, and this results in a duplicate "Fact_Conversions" table item.
  • In reply to Troy Rackley:

    In our case, we have already followed the steps that Troy mentions, but WFFM introduces Fact_FormStatisticsByContact as a separate entry inside the Sitecore.WFFM.Analytics.config in version 8.1 rev. 151217, which cause it to be duplicate to the same entry that is present inside the Sitecore.Analytics.Processing.Aggregation.config
    Removing the one from the Aggregation config solved our issue.