Citrix Monitor Server Event ID 2006 is outputted on DDC server every hour
Application.csv
The Data Persistence Sink detected error while persisting data from provider 'BrokerEventProvider' in pipeline 'Broker Operational Event Pipeline'. error: System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
at Citrix.Monitor.Repository.Helpers.DataUploadHelper.ProcessMachineSync(IList`1 machineSyncs, DateTime pollDate)
at Citrix.Monitor.Repository.DataUploadRepository.Process(XenDesktopCollectedData data)
at Citrix.Monitor.Pipeline.Sinks.DataPersistenceSink.ProcessPayload(IDataContainer payload)
at Citrix.Monitor.Pipeline.Sinks.DataPersistenceSink.ProcessDataWorker()"
2017/09/12 14:01:04,Citrix Monitor Service,2006,,The Data Persistance Sink detected error while persisting data from provider 'BrokerEventProvider' in pipeline 'Broker Operational Event Pipeline'.error: System.NullReferenceException: Object reference not set to an instance of an object.
at Citrix.Monitor.Repository.Helpers.DataUploadHelper.ProcessSessionSync(IList`1 sessionSyncs, DateTime pollDate)
at Citrix.Monitor.Repository.DataUploadRepository.Process(XenDesktopCollectedData data)
at Citrix.Monitor.Pipeline.Sinks.DataPersistenceSink.ProcessPayload(IDataContainer payload)
at Citrix.Monitor.Pipeline.Sinks.DataPersistenceSink.ProcessDataWorker()"
The message basically means that Citrix Monitor Service is preventing duplicate values from being added to database . This is expected behavior. There are following reasons for the event being outputted.
1 Citrix Monitor Service runs SQL transaction to synchronize difference data between DDC and monitor database, but didn't get the SQL transaction return code.