Skip to content
Snippets Groups Projects

F async execute

Merged Timm Fitschen requested to merge f-async-execute into dev

Summary

  1. Makes ExecuteAsynchronously actually asynchronous.
  2. 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.

Edited by Florian Spreckelsen

Merge request reports

Pipeline #25191 passed

Pipeline: caosdb-cppinttest

#25195

    Pipeline passed for 5e1a32be on f-async-execute

    Merged by Florian SpreckelsenFlorian Spreckelsen 2 years ago (Jul 6, 2022 12:44pm UTC)

    Loading

    Pipeline #25210 passed

    Pipeline: caosdb-cppinttest

    #25211

      Pipeline passed for c634d5df on dev

      Activity

      Filter activity
      • Approvals
      • Assignees & reviewers
      • Comments (from bots)
      • Comments (from users)
      • Commits & branches
      • Edits
      • Labels
      • Lock status
      • Mentions
      • Merge request status
      • Tracking
    • Timm Fitschen
    • Timm Fitschen
    • Timm Fitschen changed the description

      changed the description

    • Timm Fitschen added 1 commit

      added 1 commit

      • e4fc823b - Add TODO for SegFault Factory in GetResultSet

      Compare with previous version

    • Timm Fitschen changed the description

      changed the description

    • Loading
    • Loading
    • Loading
    • Loading
    • Loading
    • Loading
    • Loading
    • Loading
    • Loading
    • Loading
    • Please register or sign in to reply
      Loading