feature: transactions with single-threaded execution context #685
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.
fixes #681
This seems to be working reliably. It still requires more testing and thoughts on user experience, but reliability comes first. I will be away for a few weeks, so this is all I got until I'm back.
The new implementation is named
RedisTx
and there is an example namedRedisTxDemo
showing how it works. This is the expected output (or similar) when running it:I added a method that shows the current thread where each operation runs (needs to be all the same thread), which will be removed before this PR gets merged.
The final
KV: Map(...)
is the result of theGET
operations. This is the part that requires more UX thoughts.