Skip to content

Commit

Permalink
fix race condition on OrchestrationRuntimeState with DurableTask.Core…
Browse files Browse the repository at this point in the history
… when committing work items (#161)
  • Loading branch information
sebastianburckhardt authored May 26, 2022
1 parent 659873b commit 413a353
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.0" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.7.1" />
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/DurableTask.Netherite/DurableTask.Netherite.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<PackageReference Include="Microsoft.Azure.EventHubs.Processor" Version="4.3.2" />
<PackageReference Include="Microsoft.Azure.Storage.Blob" Version="11.2.3" />
<PackageReference Include="Microsoft.FASTER.Core" Version="2.0.3" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.0" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.1" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
<PackageReference Include="System.Threading.Channels" Version="4.7.1" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -752,11 +752,6 @@ Task IOrchestrationService.CompleteTaskOrchestrationWorkItemAsync(
List<TaskMessage> localMessages = null;
List<TaskMessage> remoteMessages = null;

// DurableTask.Core keeps the original runtime state in the work item until after this call returns
// but we want it to contain the latest runtime state now (otherwise IsExecutableInstance returns incorrect results)
// so we update it now.
workItem.OrchestrationRuntimeState = newOrchestrationRuntimeState;

// all continue as new requests are processed immediately (DurableTask.Core always uses "fast" continue-as-new)
// so by the time we get here, it is not a continue as new
partition.Assert(continuedAsNewMessage == null, "unexpected continueAsNew message");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ public enum ExecutionType { Fresh, ContinueFromHistory, ContinueFromCursor };

public string CustomStatus { get; set; }

public override bool RestoreOriginalRuntimeStateDuringCompletion => false;

public OrchestrationWorkItem(Partition partition, OrchestrationMessageBatch messageBatch, List<HistoryEvent> previousHistory = null, string customStatus = null)
{
this.Partition = partition;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<ItemGroup>
<ProjectReference Include="..\..\src\DurableTask.Netherite.AzureFunctions\DurableTask.Netherite.AzureFunctions.csproj" />
<ProjectReference Include="..\DurableTask.Netherite.Tests\DurableTask.Netherite.Tests.csproj" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.0" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.1" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion test/PerformanceTests/PerformanceTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<ItemGroup>
<PackageReference Include="Azure.Messaging.EventHubs" Version="5.7.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="4.0.1" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.0" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.9.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.7.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventHubs" Version="4.2.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.13" />
Expand Down

0 comments on commit 413a353

Please sign in to comment.