Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Properly fuzz concurrency behaviors #128

Open
Tpt opened this issue Sep 22, 2022 · 2 comments
Open

Properly fuzz concurrency behaviors #128

Tpt opened this issue Sep 22, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@Tpt
Copy link
Contributor

Tpt commented Sep 22, 2022

Currently the fuzzers only write and read using a single thread and do not control the background threads concurrency. It might be nice to use a tool like loom to properly cover possible concurrency issues.

It should also make the debugging of bugs like #124 easier (no more reproduction issues).

@Tpt Tpt added the enhancement New feature or request label Sep 22, 2022
@cheme
Copy link
Collaborator

cheme commented Sep 23, 2022

A bit unrelated, but fuzzing can be more reproducible by using EnableCommitPipelineStages to target some state specifically (does not use threads IIRC), it is far from perfect but can be useful (IIRC there was a state I did not manage to stop on, I think when commit payload is in the log overlay and unflushed).

@Tpt
Copy link
Contributor Author

Tpt commented Nov 28, 2022

With #165 I believe we have a fairly good base for concurrency testing: insertion and deletions are covered from commit to log clean with both btree and hash and reference counting and not. Btree iteration is also tested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants