WIP: improve shrinking, fix bugs exposed by new swallowed exceptions test
Home /
IntersectMBO /
lsm-tree
Feb 14, 1-2 PM (0)
Feb 14, 2-3 PM (0)
Feb 14, 3-4 PM (1)
Feb 14, 4-5 PM (0)
Feb 14, 5-6 PM (0)
Feb 14, 6-7 PM (0)
Feb 14, 7-8 PM (0)
Feb 14, 8-9 PM (0)
Feb 14, 9-10 PM (0)
Feb 14, 10-11 PM (0)
Feb 14, 11-12 AM (0)
Feb 15, 12-1 AM (0)
Feb 15, 1-2 AM (0)
Feb 15, 2-3 AM (0)
Feb 15, 3-4 AM (0)
Feb 15, 4-5 AM (0)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (0)
Feb 15, 7-8 AM (0)
Feb 15, 8-9 AM (0)
Feb 15, 9-10 AM (0)
Feb 15, 10-11 AM (0)
Feb 15, 11-12 PM (0)
Feb 15, 12-1 PM (0)
Feb 15, 1-2 PM (0)
Feb 15, 2-3 PM (0)
Feb 15, 3-4 PM (0)
Feb 15, 4-5 PM (0)
Feb 15, 5-6 PM (0)
Feb 15, 6-7 PM (0)
Feb 15, 7-8 PM (0)
Feb 15, 8-9 PM (0)
Feb 15, 9-10 PM (0)
Feb 15, 10-11 PM (0)
Feb 15, 11-12 AM (0)
Feb 16, 12-1 AM (0)
Feb 16, 1-2 AM (0)
Feb 16, 2-3 AM (0)
Feb 16, 3-4 AM (0)
Feb 16, 4-5 AM (0)
Feb 16, 5-6 AM (0)
Feb 16, 6-7 AM (0)
Feb 16, 7-8 AM (0)
Feb 16, 8-9 AM (0)
Feb 16, 9-10 AM (0)
Feb 16, 10-11 AM (0)
Feb 16, 11-12 PM (0)
Feb 16, 12-1 PM (0)
Feb 16, 1-2 PM (0)
Feb 16, 2-3 PM (1)
Feb 16, 3-4 PM (1)
Feb 16, 4-5 PM (0)
Feb 16, 5-6 PM (0)
Feb 16, 6-7 PM (0)
Feb 16, 7-8 PM (0)
Feb 16, 8-9 PM (0)
Feb 16, 9-10 PM (0)
Feb 16, 10-11 PM (0)
Feb 16, 11-12 AM (0)
Feb 17, 12-1 AM (0)
Feb 17, 1-2 AM (0)
Feb 17, 2-3 AM (0)
Feb 17, 3-4 AM (0)
Feb 17, 4-5 AM (0)
Feb 17, 5-6 AM (0)
Feb 17, 6-7 AM (0)
Feb 17, 7-8 AM (0)
Feb 17, 8-9 AM (1)
Feb 17, 9-10 AM (1)
Feb 17, 10-11 AM (2)
Feb 17, 11-12 PM (4)
Feb 17, 12-1 PM (4)
Feb 17, 1-2 PM (4)
Feb 17, 2-3 PM (1)
Feb 17, 3-4 PM (0)
Feb 17, 4-5 PM (0)
Feb 17, 5-6 PM (0)
Feb 17, 6-7 PM (0)
Feb 17, 7-8 PM (0)
Feb 17, 8-9 PM (0)
Feb 17, 9-10 PM (0)
Feb 17, 10-11 PM (0)
Feb 17, 11-12 AM (0)
Feb 18, 12-1 AM (0)
Feb 18, 1-2 AM (0)
Feb 18, 2-3 AM (0)
Feb 18, 3-4 AM (0)
Feb 18, 4-5 AM (0)
Feb 18, 5-6 AM (0)
Feb 18, 6-7 AM (0)
Feb 18, 7-8 AM (0)
Feb 18, 8-9 AM (0)
Feb 18, 9-10 AM (0)
Feb 18, 10-11 AM (0)
Feb 18, 11-12 PM (1)
Feb 18, 12-1 PM (0)
Feb 18, 1-2 PM (0)
Feb 18, 2-3 PM (0)
Feb 18, 3-4 PM (0)
Feb 18, 4-5 PM (9)
Feb 18, 5-6 PM (0)
Feb 18, 6-7 PM (0)
Feb 18, 7-8 PM (0)
Feb 18, 8-9 PM (0)
Feb 18, 9-10 PM (0)
Feb 18, 10-11 PM (0)
Feb 18, 11-12 AM (0)
Feb 19, 12-1 AM (0)
Feb 19, 1-2 AM (0)
Feb 19, 2-3 AM (0)
Feb 19, 3-4 AM (0)
Feb 19, 4-5 AM (0)
Feb 19, 5-6 AM (0)
Feb 19, 6-7 AM (0)
Feb 19, 7-8 AM (0)
Feb 19, 8-9 AM (0)
Feb 19, 9-10 AM (0)
Feb 19, 10-11 AM (0)
Feb 19, 11-12 PM (0)
Feb 19, 12-1 PM (1)
Feb 19, 1-2 PM (0)
Feb 19, 2-3 PM (8)
Feb 19, 3-4 PM (0)
Feb 19, 4-5 PM (2)
Feb 19, 5-6 PM (0)
Feb 19, 6-7 PM (0)
Feb 19, 7-8 PM (0)
Feb 19, 8-9 PM (0)
Feb 19, 9-10 PM (0)
Feb 19, 10-11 PM (0)
Feb 19, 11-12 AM (0)
Feb 20, 12-1 AM (0)
Feb 20, 1-2 AM (0)
Feb 20, 2-3 AM (0)
Feb 20, 3-4 AM (0)
Feb 20, 4-5 AM (0)
Feb 20, 5-6 AM (0)
Feb 20, 6-7 AM (4)
Feb 20, 7-8 AM (2)
Feb 20, 8-9 AM (0)
Feb 20, 9-10 AM (1)
Feb 20, 10-11 AM (0)
Feb 20, 11-12 PM (2)
Feb 20, 12-1 PM (0)
Feb 20, 1-2 PM (0)
Feb 20, 2-3 PM (0)
Feb 20, 3-4 PM (0)
Feb 20, 4-5 PM (1)
Feb 20, 5-6 PM (0)
Feb 20, 6-7 PM (0)
Feb 20, 7-8 PM (0)
Feb 20, 8-9 PM (0)
Feb 20, 9-10 PM (0)
Feb 20, 10-11 PM (0)
Feb 20, 11-12 AM (0)
Feb 21, 12-1 AM (0)
Feb 21, 1-2 AM (0)
Feb 21, 2-3 AM (0)
Feb 21, 3-4 AM (0)
Feb 21, 4-5 AM (0)
Feb 21, 5-6 AM (0)
Feb 21, 6-7 AM (0)
Feb 21, 7-8 AM (0)
Feb 21, 8-9 AM (0)
Feb 21, 9-10 AM (2)
Feb 21, 10-11 AM (4)
Feb 21, 11-12 PM (0)
Feb 21, 12-1 PM (0)
Feb 21, 1-2 PM (0)
57 commits this week
Feb 14, 2025
-
Feb 21, 2025
QLS: add `prop_noSwallowedExceptions`
This property runs a sequence of state machine actions where the last action definitely injects errors, at which point we can check if no errors are swallowed. See the documentation of `prop_noSwallowedExceptions` for more information.
Add functionality for logging `Errors`
We will be testing that `lsm-tree` operations do not swallow errors by injecting errors into the simulated file system and checking after the fact whether we should have seen an exception or not. One way to check this would be to compare the `Errors` structure before and after the `lsm-tree` operations, but this is unfortunately not possible in general. `Errors` are potentially infinite structures, which means computing a comparison on `Errors` may diverge. Instead, what we do is we create an `ErrorsLog` structure that records errors as soon as they are injected. We can inspect this log to see if any errors were swallowed.
QLS: log `Errors` and check that no noisy errors are swallowed
Loosen the size constraints on serialized keys
Update test/Test/Util/FS.hs
Co-authored-by: Joris Dral <[email protected]>
Update test/Test/Util/FS.hs
Co-authored-by: Joris Dral <[email protected]>
Temporarily disable `prop_MergingTree`
The timeouts are disrupting CI occasionally, so the test is disabled for now. See #570.
refactor snapshot encoding of merge types
add type parameter to Merge
refactor snapshot encoding of merge types
add type param to Merge
store general MergeType in Merge
This avoids having to convert on the fly for each entry.
add type param to MergingRunState
Merge pull request #573 from IntersectMBO/mheinzel/index-merging-run
Add type parameter to MergingRun to limit possible merge types
Make generator of serialized keys respect size constraints
prototype: clarify that there are no merges on level 1
feat(issue558): add snapshot corruption to state machine tests