You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* moved placement of session.UpdatedRuntimeState call to be before we commit any outbound messages
* removed the unnecessary changes from the orchestration service, due to initial misdiagnosis, and changed the IsOutOfOrder logic instead
* fixed the endlessly abandoning nonexistent instances bug
* updated implementation and added tests
* updated the tests a bit, resolved some copilot comments
* restored a usings, added a comment
* updated a potentially flaky test
* changed instance/execution IDs in tests to be random
---------
Co-authored-by: Sophia Tevosyan <stevosyan@microsoft.com>
Copy file name to clipboardExpand all lines: test/DurableTask.AzureStorage.Tests/AzureStorageScaleTests.cs
-275Lines changed: 0 additions & 275 deletions
Original file line number
Diff line number
Diff line change
@@ -643,281 +643,6 @@ await TestHelpers.WaitFor(
643
643
}
644
644
}
645
645
646
-
/// <summary>
647
-
/// Confirm that:
648
-
/// 1. If <see cref="AzureStorageOrchestrationServiceSettings.UseInstanceTableEtag"/> is true, and a worker attempts to update the instance table with a stale
649
-
/// etag upon completing a work item, a SessionAbortedException is thrown which wraps the inner DurableTaskStorageException, which has the correct status code
650
-
/// (precondition failed).
651
-
/// The specific scenario tested is if the worker stalled after updating the history table but before updating the instance table. When it attempts to update
652
-
/// the instance table with a stale etag, it will fail.
653
-
/// 2. If <see cref="AzureStorageOrchestrationServiceSettings.UseInstanceTableEtag"/> is false for the above scenario, then the call to update the instance table
654
-
/// will go through, and the instance table will be updated with a "stale" status.
655
-
/// </summary>
656
-
/// <remarks>
657
-
/// Since it is impossible to force stalling, we simulate the above scenario by manually updating the instance table before the worker
658
-
/// attempts to complete the work item. The history table update will go through, but the instance table update will fail since "another worker
659
-
/// has since updated" the instance table.
660
-
/// </remarks>
661
-
/// <param name="useInstanceEtag">The value to use for <see cref="AzureStorageOrchestrationServiceSettings.UseInstanceTableEtag"/></param>
/// 1. If <see cref="AzureStorageOrchestrationServiceSettings.UseInstanceTableEtag"/> is true, and a worker attempts to update the instance table with a stale
764
-
/// etag upon completing a work item for a suborchestration, a SessionAbortedException is thrown which wraps the inner DurableTaskStorageException, which has
765
-
/// the correct status code (conflict).
766
-
/// The specific scenario tested is if the worker stalled after updating the history table but before updating the instance table for the first work item
767
-
/// for a suborchestration. When it attempts to insert a new entity into the instance table for the suborchestration (since for a suborchestration,
768
-
/// the instance entity is only created upon completion of the first work item), it will fail.
769
-
/// 2. If <see cref="AzureStorageOrchestrationServiceSettings.UseInstanceTableEtag"/> is false for the above scenario, then the call to update the instance table
770
-
/// will go through, and the instance table will be updated with a "stale" status.
771
-
/// </summary>
772
-
/// <remarks>
773
-
/// Since it is impossible to force stalling, we simulate the above scenario by manually updating the instance table before the worker
774
-
/// attempts to complete the work item. The history table update will go through, but the instance table update will fail since "another worker
775
-
/// has since updated" the instance table.
776
-
/// </remarks>
777
-
/// <param name="useInstanceEtag">The value to use for <see cref="AzureStorageOrchestrationServiceSettings.UseInstanceTableEtag"/></param>
0 commit comments