)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1004452,"name":"David Kelly","email":"davidmichaelkelly@gmail.com","username":"davidkelly","avatars":[{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6c931389478481ff2285660d25f91b49973baff3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f8b403a0_f9f384dc","updated":"2026-03-25 15:56:37.000000000","message":"+2-ing this as the concerns are addressed on the 4183 changelist.","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1004452,"name":"David Kelly","email":"davidmichaelkelly@gmail.com","username":"davidkelly","avatars":[{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c69270fbae77cd891573e73af4eb5ec2b85adc92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"072334f6_0e57eb96","updated":"2026-03-24 23:49:39.000000000","message":"So - I have some comments on making this perform somewhat better.   But - probably the right thing is to switch to using the .NET System.Diagnostics.Metrics - those are already optimized.   I see that is coming in another PR, so perhaps none of these comments matter and it is all up to the next one?  LMK and I can always +2 this and we can get the other one reviewed","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d2fbd0330e4d5769489955a13f87239734fbd54d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ca95940b_29ef0b1f","in_reply_to":"072334f6_0e57eb96","updated":"2026-03-25 09:31:42.000000000","message":"Exactly, the \"real\" patch is the other one, this was to fix the race conditions. It\u0027s not a super clean way, but all this incrementing and locking logic is removed in the next patch anyway.\n\nIdeally I would have merged the other PR into this one to have 1 final PR but that\u0027s not really the gerrit way.","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"}],"src/Couchbase/Core/Diagnostics/Metrics/AppTelemetry/AppTelemetryCollector.cs":[{"author":{"_account_id":1004452,"name":"David Kelly","email":"davidmichaelkelly@gmail.com","username":"davidkelly","avatars":[{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c69270fbae77cd891573e73af4eb5ec2b85adc92","unresolved":true,"context_lines":[{"line_number":127,"context_line":"        var targetKey \u003d new NodeAndBucket(node, alternateNode, nodeUuid, bucket);"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        AppTelemetryMetricSet metricSet;"},{"line_number":130,"context_line":"        lock (_metricsLock)"},{"line_number":131,"context_line":"        {"},{"line_number":132,"context_line":"            metricSet \u003d _metricSets.GetOrAdd(targetKey, _ \u003d\u003e new AppTelemetryMetricSet());"},{"line_number":133,"context_line":"        }"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"0955ca57_3687e4ba","line":130,"updated":"2026-03-24 23:49:39.000000000","message":"Since the AppTelemetryMetricSet is a ConcurrentDictionary, GetOrAdd is already thread safe and should be just done without the lock I believe.   \n\nSince we actually increment after the lock is released, there\u0027s not any guarantee some other thread didn\u0027t call TryExportMetricsAndReset, and you are incrementing a a histogram that was already exported and now waiting on the GC.  So the lock probably isn\u0027t really adding anything here.","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0da45a277a549c13f3cac14e1b4247d83cb8adf6","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        var targetKey \u003d new NodeAndBucket(node, alternateNode, nodeUuid, bucket);"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        AppTelemetryMetricSet metricSet;"},{"line_number":130,"context_line":"        lock (_metricsLock)"},{"line_number":131,"context_line":"        {"},{"line_number":132,"context_line":"            metricSet \u003d _metricSets.GetOrAdd(targetKey, _ \u003d\u003e new AppTelemetryMetricSet());"},{"line_number":133,"context_line":"        }"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"9956a034_a8724c8a","line":130,"in_reply_to":"0955ca57_3687e4ba","updated":"2026-03-25 16:47:19.000000000","message":"Acknowledged","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1004452,"name":"David Kelly","email":"davidmichaelkelly@gmail.com","username":"davidkelly","avatars":[{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c69270fbae77cd891573e73af4eb5ec2b85adc92","unresolved":true,"context_lines":[{"line_number":143,"context_line":"        var targetKey \u003d new NodeAndBucket(node, alternateNode, nodeUuid, bucket);"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        AppTelemetryMetricSet metricSet;"},{"line_number":146,"context_line":"        lock (_metricsLock)"},{"line_number":147,"context_line":"        {"},{"line_number":148,"context_line":"            metricSet \u003d _metricSets.GetOrAdd(targetKey, _ \u003d\u003e new AppTelemetryMetricSet());"},{"line_number":149,"context_line":"        }"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"aa5df683_d1496c72","line":146,"updated":"2026-03-24 23:49:39.000000000","message":"Same lock comment as above here.","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0da45a277a549c13f3cac14e1b4247d83cb8adf6","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        var targetKey \u003d new NodeAndBucket(node, alternateNode, nodeUuid, bucket);"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        AppTelemetryMetricSet metricSet;"},{"line_number":146,"context_line":"        lock (_metricsLock)"},{"line_number":147,"context_line":"        {"},{"line_number":148,"context_line":"            metricSet \u003d _metricSets.GetOrAdd(targetKey, _ \u003d\u003e new AppTelemetryMetricSet());"},{"line_number":149,"context_line":"        }"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"c0e633f9_0bafcfb6","line":146,"in_reply_to":"aa5df683_d1496c72","updated":"2026-03-25 16:47:19.000000000","message":"Acknowledged","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1004452,"name":"David Kelly","email":"davidmichaelkelly@gmail.com","username":"davidkelly","avatars":[{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c69270fbae77cd891573e73af4eb5ec2b85adc92","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        metricsString \u003d string.Empty;"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        ConcurrentDictionary\u003cNodeAndBucket, AppTelemetryMetricSet\u003e oldMetrics;"},{"line_number":158,"context_line":"        lock (_metricsLock)"},{"line_number":159,"context_line":"        {"},{"line_number":160,"context_line":"            if (_metricSets.IsEmpty) return false;"},{"line_number":161,"context_line":"            oldMetrics \u003d _metricSets;"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"2a52e08f_f8892073","line":158,"updated":"2026-03-24 23:49:39.000000000","message":"Same thing here - lets just InterlockdExchange to swap new for old metrics, no need for the lock.","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0da45a277a549c13f3cac14e1b4247d83cb8adf6","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        metricsString \u003d string.Empty;"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        ConcurrentDictionary\u003cNodeAndBucket, AppTelemetryMetricSet\u003e oldMetrics;"},{"line_number":158,"context_line":"        lock (_metricsLock)"},{"line_number":159,"context_line":"        {"},{"line_number":160,"context_line":"            if (_metricSets.IsEmpty) return false;"},{"line_number":161,"context_line":"            oldMetrics \u003d _metricSets;"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"6b85c5d9_bef9b884","line":158,"in_reply_to":"2a52e08f_f8892073","updated":"2026-03-25 16:47:19.000000000","message":"Acknowledged","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"}],"src/Couchbase/Core/Diagnostics/Metrics/AppTelemetry/AppTelemetryHistogramBins.cs":[{"author":{"_account_id":1000530,"name":"Jeffry Morris","email":"jeffrymorris@gmail.com","username":"jmorris","avatars":[{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cb50b5101205259219cefa11e740fb83c4cf3003","unresolved":true,"context_lines":[{"line_number":10,"context_line":"internal class AppTelemetryHistogramBins"},{"line_number":11,"context_line":"{"},{"line_number":12,"context_line":"#if NET10_0_OR_GREATER"},{"line_number":13,"context_line":"    private readonly Lock _binLock \u003d new();"},{"line_number":14,"context_line":"#else"},{"line_number":15,"context_line":"    private readonly object _binLock \u003d new();"},{"line_number":16,"context_line":"#endif"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"cfbef167_710be148","line":13,"updated":"2026-03-24 22:42:38.000000000","message":"I did not know about this!","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0da45a277a549c13f3cac14e1b4247d83cb8adf6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"internal class AppTelemetryHistogramBins"},{"line_number":11,"context_line":"{"},{"line_number":12,"context_line":"#if NET10_0_OR_GREATER"},{"line_number":13,"context_line":"    private readonly Lock _binLock \u003d new();"},{"line_number":14,"context_line":"#else"},{"line_number":15,"context_line":"    private readonly object _binLock \u003d new();"},{"line_number":16,"context_line":"#endif"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"2030bec7_13fd7fab","line":13,"in_reply_to":"cfbef167_710be148","updated":"2026-03-25 16:47:19.000000000","message":"Acknowledged","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1004452,"name":"David Kelly","email":"davidmichaelkelly@gmail.com","username":"davidkelly","avatars":[{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a4b932d767e0a1e1e23188e09ed0cf55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c69270fbae77cd891573e73af4eb5ec2b85adc92","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        {"},{"line_number":43,"context_line":"            // For each bin, if the operation latency is less than or equal to the bin\u0027s upper bound,"},{"line_number":44,"context_line":"            // increment the count and add to the sum"},{"line_number":45,"context_line":"            foreach (var bin in Bins)"},{"line_number":46,"context_line":"            {"},{"line_number":47,"context_line":"                var le \u003d bin.Keys.First(); // There\u0027s only 1 key per bin"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-csharp","patch_set":5,"id":"6cd5e15b_fd1f9b1e","line":45,"updated":"2026-03-24 23:49:39.000000000","message":"Iterating over a List\u003cDictionary\u003e is not the fastest way we could do this.   If there was an array of structs or classes, perhaps, then we\u0027d go _much_ faster inside this lock.","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0da45a277a549c13f3cac14e1b4247d83cb8adf6","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        {"},{"line_number":43,"context_line":"            // For each bin, if the operation latency is less than or equal to the bin\u0027s upper bound,"},{"line_number":44,"context_line":"            // increment the count and add to the sum"},{"line_number":45,"context_line":"            foreach (var bin in Bins)"},{"line_number":46,"context_line":"            {"},{"line_number":47,"context_line":"                var le \u003d bin.Keys.First(); // There\u0027s only 1 key per bin"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-csharp","patch_set":5,"id":"7fae9f70_eb35a7b9","line":45,"in_reply_to":"6cd5e15b_fd1f9b1e","updated":"2026-03-25 16:47:19.000000000","message":"Acknowledged","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"}],"src/Couchbase/Core/Diagnostics/Metrics/AppTelemetry/WebSocketClientHandler.cs":[{"author":{"_account_id":1000530,"name":"Jeffry Morris","email":"jeffrymorris@gmail.com","username":"jmorris","avatars":[{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d0b8b4cd259ea37fb99be261e6a720b0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cb50b5101205259219cefa11e740fb83c4cf3003","unresolved":true,"context_lines":[{"line_number":192,"context_line":"        }"},{"line_number":193,"context_line":"        catch"},{"line_number":194,"context_line":"        {"},{"line_number":195,"context_line":"            _pendingMetrics \u003d metrics;"},{"line_number":196,"context_line":"            throw;"},{"line_number":197,"context_line":"        }"},{"line_number":198,"context_line":"    }"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"e37f8dd1_1aa29748","line":195,"range":{"start_line":195,"start_character":0,"end_line":195,"end_character":12},"updated":"2026-03-24 22:42:38.000000000","message":"Should we log the error or is it a don\u0027t care?","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"},{"author":{"_account_id":1005037,"name":"Emilien Bevierre","email":"emilien.bevierre@couchbase.com","username":"SecureCake","avatars":[{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c1e3f0606531d9492a433378ebb72350.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0da45a277a549c13f3cac14e1b4247d83cb8adf6","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        }"},{"line_number":193,"context_line":"        catch"},{"line_number":194,"context_line":"        {"},{"line_number":195,"context_line":"            _pendingMetrics \u003d metrics;"},{"line_number":196,"context_line":"            throw;"},{"line_number":197,"context_line":"        }"},{"line_number":198,"context_line":"    }"}],"source_content_type":"text/x-csharp","patch_set":5,"id":"21343cfc_027bc8bf","line":195,"range":{"start_line":195,"start_character":0,"end_line":195,"end_character":12},"in_reply_to":"e37f8dd1_1aa29748","updated":"2026-03-25 16:47:19.000000000","message":"We _could_ log, but we\u0027ll retry anyway (with backoff, but no limit). They\u0027ll end up exported at some point, unless the cluster is spun down or the metrics endpoints are never spun up again","commit_id":"7a22009b05f352932eba9ee87ed362c29d6f50c4"}]}
