Skip to content

Commit a2ffc8b

Browse files
authored
Fix Race Condition between RenewMessage and DeleteMessage (#1246)
* initial commit * udpate
1 parent 2a8f627 commit a2ffc8b

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/DurableTask.AzureStorage/Messaging/TaskHubQueue.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,6 @@ await this.storageQueue.UpdateMessageAsync(
345345

346346
public virtual async Task DeleteMessageAsync(MessageData message, SessionBase? session = null)
347347
{
348-
QueueMessage queueMessage = message.OriginalQueueMessage;
349348
TaskMessage taskMessage = message.TaskMessage;
350349

351350
bool haveRetried = false;
@@ -356,16 +355,16 @@ public virtual async Task DeleteMessageAsync(MessageData message, SessionBase? s
356355
this.settings.TaskHubName,
357356
taskMessage.Event.EventType.ToString(),
358357
Utils.GetTaskEventId(taskMessage.Event),
359-
queueMessage.MessageId,
358+
message.OriginalQueueMessage.MessageId,
360359
taskMessage.OrchestrationInstance.InstanceId,
361360
taskMessage.OrchestrationInstance.ExecutionId,
362361
this.storageQueue.Name,
363362
message.SequenceNumber,
364-
queueMessage.PopReceipt);
363+
message.OriginalQueueMessage.PopReceipt);
365364

366365
try
367366
{
368-
await this.storageQueue.DeleteMessageAsync(queueMessage, session?.TraceActivityId);
367+
await this.storageQueue.DeleteMessageAsync(message.OriginalQueueMessage, session?.TraceActivityId);
369368
}
370369
catch (Exception e)
371370
{

0 commit comments

Comments
 (0)