test: add a MVCC fuzzing test#11351
Merged
sergepetrenko merged 1 commit intotarantool:masterfrom Jun 4, 2025
Merged
Conversation
99ba316 to
6084a46
Compare
ca72e97 to
e7a5900
Compare
4a986e3 to
6d5589f
Compare
ligurio
reviewed
Apr 8, 2025
Member
ligurio
left a comment
There was a problem hiding this comment.
First of all, Georgy, thanks for a nice job! You have found 33 bugs in MVCC or MVCC-related parts.
Please take a look on my comments.
77b06ba to
47b4e5a
Compare
drewdzzz
requested changes
Apr 14, 2025
Contributor
drewdzzz
left a comment
There was a problem hiding this comment.
Glad to see the legendary test doesn't gather dust on the shelf!
47b4e5a to
6ea1318
Compare
6ea1318 to
872a771
Compare
ligurio
reviewed
Apr 19, 2025
872a771 to
6942edf
Compare
drewdzzz
reviewed
May 12, 2025
Contributor
drewdzzz
left a comment
There was a problem hiding this comment.
Thanks for your fixes! I have only a few questions left.
6942edf to
2ed5c2e
Compare
ligurio
reviewed
May 16, 2025
2ed5c2e to
0f4476f
Compare
ligurio
reviewed
May 20, 2025
ligurio
reviewed
May 20, 2025
ligurio
reviewed
May 20, 2025
drewdzzz
approved these changes
May 30, 2025
Contributor
drewdzzz
left a comment
There was a problem hiding this comment.
Looks good to me!
I've left a few comments, but generally the test already seems nice and clear.
drewdzzz
reviewed
May 31, 2025
0f4476f to
6a38d66
Compare
ligurio
reviewed
Jun 3, 2025
The test for Tarantool allows you to generate random interleaved (concurrent) transactions for the memtx and vinyl engines, and verify the consistency of their execution w.r.t. serializability. Bugs found by the test: - tarantool#6206 - tarantool#6325 - tarantool#6452 - tarantool#7073 - tarantool#7113 - tarantool#7214 - tarantool#7217 - tarantool#7234 - tarantool#7235 - tarantool#7238 - tarantool#7239 - tarantool#7240 - tarantool#7343 - tarantool#7375 - tarantool#7409 - tarantool#7432 - tarantool#7449 - tarantool#7477 - tarantool#7478 - tarantool#7490 - tarantool#7493 - tarantool#7670 - tarantool#7685 - tarantool#7712 - tarantool#7755 - tarantool#7756 - tarantool#7757 - tarantool#7761 - tarantool#7828 - tarantool#7837 - tarantool#8104 - tarantool#11294 - tarantool#11348 - tarantool#11354 Closes tarantool#5999 NO_CHANGELOG=<fuzzing> NO_DOC=<fuzzing> NO_TEST=<fuzzing>
6a38d66 to
4751cdf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The test for Tarantool allows you to generate random interleaved (concurrent) transactions for the memtx and vinyl engines, and verify the consistency of their execution w.r.t. serializability.
Bugs found by the test:
memtx_tx_tuple_clarifyon tuple which story was previously garbage collected #7073selectwith reverse iterator in memtx TREE index returns deleted tuple #7432tuple_has_flag(tuple, TUPLE_IS_DIRTY)assertion onreplace#7449randomtransaction management inconsistency #7670gettransaction management phantom reads #7685space:droptriggers assertion in transaction manager #7757gets from different indexes #7828gets from different indexes #7837Closes #5999