Skip to content

Add I/O tests that run on multiple threads#955

Open
tmadlener wants to merge 3 commits into
AIDASoft:masterfrom
tmadlener:multithreaded-io-tests
Open

Add I/O tests that run on multiple threads#955
tmadlener wants to merge 3 commits into
AIDASoft:masterfrom
tmadlener:multithreaded-io-tests

Conversation

@tmadlener
Copy link
Copy Markdown
Collaborator

BEGINRELEASENOTES

  • Add tests that run I/O on multiple threads

ENDRELEASENOTES

These tests build / read Frames on multiple threads serializing the I/O part (as per design). They effectively check whether the Frame construction as well as the retrival of buffers from the FrameData is done properly when running under TSan. They do not check whether accessing a single Frame from multiple threads is thread safe that is covered by unit tests.

This was something that I would have liked to do for quite some time, and due to #940 it has become possible to actually run these under the sanitizers so that there is some actual checks behind it as well.

These tests build / read Frames on multiple threads serializing the I/O
part (as per design). They effectively check whether the Frame
construction as well as the retrival of buffers from the `FrameData` is
done properly when running under TSan. They do not check whether
accessing a single Frame from multiple threads is thread safe that is
covered by unit tests
@tmadlener
Copy link
Copy Markdown
Collaborator Author

I also confirmed that running on 8 threads with 1000 events each doesn't trigger TSan (just in case). Works as well. For that case there is quite a bit of contention on the read / write lock, but getting optimal performance out of this is not the goal of the tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant