Description
If the LoggingMeterReport throws an exception, it can crash the entire process. There is some case around a Dictionary that does so currently.
https://forums.couchbase.com/t/argumentexception-in-loggingmeterreport-from-timer/33649
Application: #####
|
Framework Version: v4.0.30319
|
Description: The process was terminated due to an unhandled exception.
|
Exception Info: System.ArgumentException
|
at System.ThrowHelper.ThrowArgumentException(System.ExceptionResource)
|
at System.Collections.Generic.Dictionary2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Insert(System.__Canon, System.__Canon, Boolean) at Couchbase.Core.Diagnostics.Metrics.LoggingMeterReport.Generate(System.Collections.ObjectModel.ReadOnlyDictionary2<System.String,App.Metrics.IMetricsRoot>, UInt32)
|
at Couchbase.Core.Diagnostics.Metrics.LoggingMeter.GenerateReport(System.Object)
|
at System.Threading.TimerQueueTimer.CallCallback()
|
at System.Threading.TimerQueueTimer.Fire()
|
at System.Threading.TimerQueue.FireQueuedTimerCompletion(System.Object)
|
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
|
at System.Threading.ThreadPoolWorkQueue.Dispatch()
|
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
|