F async execute
-
Review changes -
-
Download -
Patches
-
Plain diff
Summary
- Makes ExecuteAsynchronously actually asynchronous.
- Version bump of grpc to 1.45.2
Focus
Most of the old execution code has been removed from ExecuteAsynchronously
and WaitForIt
and has been split up into DoExecuteTransaction()
, ProcessCall
, ProcessTerminated
, and ProcessRetrieveResponse
.
ExecuteAsynchronously
now only start a background thread running DoExecuteTransaction
and WaitForIt
joins the background thread until it terminates.
Because we deal with multiple thread now, this MR also needed to introduce a mutex/lock system. We have a special non-public macro for this (TRANSACTION_SYNCRONIZED_BLOCK
).
Test Environment
Pipelines should be enough. If we encounter problems in the dependent clients (julia, octave) afterwards we will see what we need to do then.
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related Issues -
Up-to-date CHANGELOG.md -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
- version 1742d5c2c2
- version 1642d5c2c2
- version 15a246e61c
- version 14e4fc823b
- version 13e6e57719
- version 1202be7c66
- version 111ebb197c
- version 101ebb197c
- version 9c9360a7b
- version 84157f089
- version 74157f089
- version 6c5cd6c22
- version 5c5cd6c22
- version 4d3e7ef00
- version 3c0f6cd18
- version 2f473e0ff
- version 125095679
- dev (base)
- latest version5e1a32be19 commits,
- version 1742d5c2c218 commits,
- version 1642d5c2c218 commits,
- version 15a246e61c16 commits,
- version 14e4fc823b15 commits,
- version 13e6e5771914 commits,
- version 1202be7c6613 commits,
- version 111ebb197c12 commits,
- version 101ebb197c36 commits,
- version 9c9360a7b35 commits,
- version 84157f0899 commits,
- version 74157f0899 commits,
- version 6c5cd6c228 commits,
- version 5c5cd6c228 commits,
- version 4d3e7ef007 commits,
- version 3c0f6cd186 commits,
- version 2f473e0ff5 commits,
- version 1250956794 commits,
- Side-by-side
- Inline