Fix race condition on stop#1081
Open
hanna-cirilla wants to merge 3 commits intodanielgerlag:masterfrom
Open
Conversation
27cb70f to
0444177
Compare
7fc1474 to
dd0ddf9
Compare
| public class SqliteSetup : IDisposable | ||
| { | ||
| public string ConnectionString { get; set; } | ||
| public static string ConnectionString { get; set; } |
Owner
There was a problem hiding this comment.
Why does this need to be made static?
Contributor
Author
There was a problem hiding this comment.
I wanted to have simple access to the value from the new SqliteStopScenario as well as aligning it with the way all the other scenario setups have static connection strings.
645d7f6 to
fa4f738
Compare
If the host is stopped as soon as WorkflowCompleted LifeCycleEvent is raised, some persistence providers cannot persist the 'Completed' state in time.
Do not pass global CancellationToken to persistence operations on host shutdown. This way it is ensured that persistence operations are not cancelled.
fa4f738 to
f150cd4
Compare
Contributor
Author
|
Sorry for taking so long. I removed everything that was not strictly necessary to make the new tests pass. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe the change
No longer pass the global
CancellationTokento persistence operations that could take place after initiating a host shutdown. This prevents cancelling workflows or stopping the host from cancelling writing persistence operations and thus losing data.Fixes #953
Fixes #1032
Describe your implementation or design
Removed the
CancellationTokenparameter from persistence operations infinallyblocks whereTaskCancelledExceptionscould be handled.Tests
Yes. I reproduced the issue by adding a
StopScenariofor persistence providers. After the change, this scenario passes.Breaking change
No.