F async execute
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
Activity
assigned to @timm
added 5 commits
-
f473e0ff...facb19fd - 4 commits from branch
f-move-entity
- c0f6cd18 - Merge branch 'f-move-entity' into f-async-execute
-
f473e0ff...facb19fd - 4 commits from branch
added 14 commits
-
c0f6cd18...5ccac6d9 - 13 commits from branch
f-move-entity
- d3e7ef00 - Merge branch 'f-move-entity' into f-async-execute
-
c0f6cd18...5ccac6d9 - 13 commits from branch
added 8 commits
-
d3e7ef00...6583f355 - 7 commits from branch
f-move-entity
- c5cd6c22 - Merge branch 'f-move-entity' into f-async-execute
-
d3e7ef00...6583f355 - 7 commits from branch
added 149 commits
-
4157f089...5859bde0 - 123 commits from branch
main
- c2a37d16 - MAINT: refactor logging (remove boost.log from headers)
- 21dc4f5c - Merge branch 'dev' into f-filesystem
- 03f07e78 - Fix constructor of Entity class
- db7f48a1 - Merge branch 'dev' into f-grpc-f-acm
- 610f6b10 - DEPS: update proto
- 72945b0d - DOC: update CHANGELOG
- 6974094c - STY: auto-formatting
- f6cbbf67 - TST: Fix linting
- 429ddd35 - Fix unit tests
- 76ce7133 - Merge branch 'dev' into f-grpc-f-acm
- 78b63e73 - REL: Begin next release cycle
- 40d7c9eb - Merge branch 'dev' into f-grpc-f-acm
- 6fc56a7b - DEPS: make boost bdep (not rdep)
- 670638e7 - STY: formatting
- 1c5b0a5b - Remove boost::json from headers as well
- 51c5b069 - More implementation for JsonValue
- daf7ce59 - Implement move for JsonValue
- a8458e79 - check for nullptr in configuration.cpp
- 3b52e45e - missing )
- ba450ecd - please clang-tidy
- a4b928a3 - STY: formatting utility.h
- ec5732e2 - MAINT: use smart pointer instead of raw
- 26b3d9e5 - MAINT: replace char[] with string
- 31074c23 - MAINT: (re-)enable some linter checks
- bd7a807e - Merge branch 'f-remove-boost-rdep' into f-async-execute
- c9360a7b - MAINT: fix merge conflicts
Toggle commit list-
4157f089...5859bde0 - 123 commits from branch
added 1 commit
- 1ebb197c - MAINT: Move call of ProcessTerminated to DoExecute...
- Resolved by Florian Spreckelsen
- Resolved by Florian Spreckelsen
- Resolved by Florian Spreckelsen
added 1 commit
- e4fc823b - Add TODO for SegFault Factory in GetResultSet