From f6855301bd3ab216e2505d5a2dcdbe73676120d6 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Thu, 20 Mar 2025 19:28:34 -0400 Subject: [PATCH] Fix audit forwarding when saga audit messages are enabled * fix null ref in Audit (#4894) fixes #4893 * Specify list capacity to avoid resizing * Use collection expression --------- Co-authored-by: Simon Cropp --- src/ServiceControl.Audit/Auditing/AuditIngestor.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/ServiceControl.Audit/Auditing/AuditIngestor.cs b/src/ServiceControl.Audit/Auditing/AuditIngestor.cs index 84d110a1f2..9668e9943a 100644 --- a/src/ServiceControl.Audit/Auditing/AuditIngestor.cs +++ b/src/ServiceControl.Audit/Auditing/AuditIngestor.cs @@ -97,8 +97,7 @@ public async Task Ingest(List contexts) Task Forward(IReadOnlyCollection messageContexts, string forwardingAddress) { - var transportOperations = new TransportOperation[messageContexts.Count]; //We could allocate based on the actual number of ProcessedMessages but this should be OK - var index = 0; + var transportOperations = new List(messageContexts.Count); MessageContext anyContext = null; foreach (var messageContext in messageContexts) { @@ -117,13 +116,12 @@ Task Forward(IReadOnlyCollection messageContexts, string forward // Forwarded messages should last as long as possible outgoingMessage.Headers.Remove(Headers.TimeToBeReceived); - transportOperations[index] = new TransportOperation(outgoingMessage, new UnicastAddressTag(forwardingAddress)); - index++; + transportOperations.Add(new TransportOperation(outgoingMessage, new UnicastAddressTag(forwardingAddress))); } return anyContext != null ? messageDispatcher.Value.Dispatch( - new TransportOperations(transportOperations), + new TransportOperations([.. transportOperations]), anyContext.TransportTransaction ) : Task.CompletedTask; @@ -162,4 +160,4 @@ public async Task VerifyCanReachForwardingAddress() static readonly long FrequencyInMilliseconds = Stopwatch.Frequency / 1000; static readonly ILog Log = LogManager.GetLogger(); } -} \ No newline at end of file +}