Home / Input Output / lsm-tree
Jun 28, 9-10 PM (0)
Jun 28, 10-11 PM (0)
Jun 28, 11-12 AM (0)
Jun 29, 12-1 AM (0)
Jun 29, 1-2 AM (0)
Jun 29, 2-3 AM (0)
Jun 29, 3-4 AM (0)
Jun 29, 4-5 AM (0)
Jun 29, 5-6 AM (0)
Jun 29, 6-7 AM (0)
Jun 29, 7-8 AM (0)
Jun 29, 8-9 AM (0)
Jun 29, 9-10 AM (0)
Jun 29, 10-11 AM (0)
Jun 29, 11-12 PM (0)
Jun 29, 12-1 PM (0)
Jun 29, 1-2 PM (0)
Jun 29, 2-3 PM (0)
Jun 29, 3-4 PM (0)
Jun 29, 4-5 PM (0)
Jun 29, 5-6 PM (0)
Jun 29, 6-7 PM (0)
Jun 29, 7-8 PM (0)
Jun 29, 8-9 PM (0)
Jun 29, 9-10 PM (0)
Jun 29, 10-11 PM (0)
Jun 29, 11-12 AM (0)
Jun 30, 12-1 AM (0)
Jun 30, 1-2 AM (0)
Jun 30, 2-3 AM (0)
Jun 30, 3-4 AM (0)
Jun 30, 4-5 AM (0)
Jun 30, 5-6 AM (0)
Jun 30, 6-7 AM (0)
Jun 30, 7-8 AM (0)
Jun 30, 8-9 AM (0)
Jun 30, 9-10 AM (0)
Jun 30, 10-11 AM (0)
Jun 30, 11-12 PM (0)
Jun 30, 12-1 PM (0)
Jun 30, 1-2 PM (0)
Jun 30, 2-3 PM (4)
Jun 30, 3-4 PM (0)
Jun 30, 4-5 PM (0)
Jun 30, 5-6 PM (0)
Jun 30, 6-7 PM (0)
Jun 30, 7-8 PM (0)
Jun 30, 8-9 PM (0)
Jun 30, 9-10 PM (0)
Jun 30, 10-11 PM (0)
Jun 30, 11-12 AM (0)
Jul 01, 12-1 AM (0)
Jul 01, 1-2 AM (0)
Jul 01, 2-3 AM (0)
Jul 01, 3-4 AM (0)
Jul 01, 4-5 AM (0)
Jul 01, 5-6 AM (0)
Jul 01, 6-7 AM (0)
Jul 01, 7-8 AM (3)
Jul 01, 8-9 AM (2)
Jul 01, 9-10 AM (11)
Jul 01, 10-11 AM (0)
Jul 01, 11-12 PM (3)
Jul 01, 12-1 PM (8)
Jul 01, 1-2 PM (2)
Jul 01, 2-3 PM (2)
Jul 01, 3-4 PM (0)
Jul 01, 4-5 PM (0)
Jul 01, 5-6 PM (0)
Jul 01, 6-7 PM (3)
Jul 01, 7-8 PM (0)
Jul 01, 8-9 PM (0)
Jul 01, 9-10 PM (0)
Jul 01, 10-11 PM (0)
Jul 01, 11-12 AM (0)
Jul 02, 12-1 AM (0)
Jul 02, 1-2 AM (0)
Jul 02, 2-3 AM (0)
Jul 02, 3-4 AM (0)
Jul 02, 4-5 AM (0)
Jul 02, 5-6 AM (0)
Jul 02, 6-7 AM (1)
Jul 02, 7-8 AM (1)
Jul 02, 8-9 AM (0)
Jul 02, 9-10 AM (0)
Jul 02, 10-11 AM (4)
Jul 02, 11-12 PM (0)
Jul 02, 12-1 PM (0)
Jul 02, 1-2 PM (0)
Jul 02, 2-3 PM (0)
Jul 02, 3-4 PM (0)
Jul 02, 4-5 PM (0)
Jul 02, 5-6 PM (1)
Jul 02, 6-7 PM (0)
Jul 02, 7-8 PM (0)
Jul 02, 8-9 PM (0)
Jul 02, 9-10 PM (0)
Jul 02, 10-11 PM (0)
Jul 02, 11-12 AM (0)
Jul 03, 12-1 AM (0)
Jul 03, 1-2 AM (0)
Jul 03, 2-3 AM (0)
Jul 03, 3-4 AM (0)
Jul 03, 4-5 AM (0)
Jul 03, 5-6 AM (0)
Jul 03, 6-7 AM (0)
Jul 03, 7-8 AM (7)
Jul 03, 8-9 AM (1)
Jul 03, 9-10 AM (1)
Jul 03, 10-11 AM (1)
Jul 03, 11-12 PM (0)
Jul 03, 12-1 PM (1)
Jul 03, 1-2 PM (8)
Jul 03, 2-3 PM (4)
Jul 03, 3-4 PM (2)
Jul 03, 4-5 PM (0)
Jul 03, 5-6 PM (0)
Jul 03, 6-7 PM (2)
Jul 03, 7-8 PM (0)
Jul 03, 8-9 PM (0)
Jul 03, 9-10 PM (0)
Jul 03, 10-11 PM (0)
Jul 03, 11-12 AM (0)
Jul 04, 12-1 AM (0)
Jul 04, 1-2 AM (0)
Jul 04, 2-3 AM (0)
Jul 04, 3-4 AM (0)
Jul 04, 4-5 AM (0)
Jul 04, 5-6 AM (0)
Jul 04, 6-7 AM (0)
Jul 04, 7-8 AM (0)
Jul 04, 8-9 AM (0)
Jul 04, 9-10 AM (0)
Jul 04, 10-11 AM (0)
Jul 04, 11-12 PM (3)
Jul 04, 12-1 PM (0)
Jul 04, 1-2 PM (0)
Jul 04, 2-3 PM (0)
Jul 04, 3-4 PM (0)
Jul 04, 4-5 PM (0)
Jul 04, 5-6 PM (0)
Jul 04, 6-7 PM (0)
Jul 04, 7-8 PM (0)
Jul 04, 8-9 PM (0)
Jul 04, 9-10 PM (0)
Jul 04, 10-11 PM (0)
Jul 04, 11-12 AM (0)
Jul 05, 12-1 AM (0)
Jul 05, 1-2 AM (0)
Jul 05, 2-3 AM (0)
Jul 05, 3-4 AM (0)
Jul 05, 4-5 AM (0)
Jul 05, 5-6 AM (0)
Jul 05, 6-7 AM (0)
Jul 05, 7-8 AM (0)
Jul 05, 8-9 AM (0)
Jul 05, 9-10 AM (0)
Jul 05, 10-11 AM (0)
Jul 05, 11-12 PM (0)
Jul 05, 12-1 PM (0)
Jul 05, 1-2 PM (0)
Jul 05, 2-3 PM (0)
Jul 05, 3-4 PM (0)
Jul 05, 4-5 PM (0)
Jul 05, 5-6 PM (0)
Jul 05, 6-7 PM (1)
Jul 05, 7-8 PM (0)
Jul 05, 8-9 PM (0)
Jul 05, 9-10 PM (0)
76 commits this week Jun 28, 2025 - Jul 05, 2025
Fix a small bug in the merge schedule
A small bug related to the merge schedule and union levels was unearted after
recent changes to key generators for the state machine tests.

```
❯ cabal run lsm-tree-test -- --quickcheck-replay="(SMGen 13447116701882578385 16048829213438376903,35)"   -p '$NF=="propLockstep_RealImpl_MockFS_IO"'
lsm-tree
  Test.Database.LSMTree.StateMachine
    propLockstep_RealImpl_MockFS_IO: FAIL (28.54s)
      *** Failed! Assertion failed (after 1 test and 196 shrinks):

      ...

1 out of 1 tests failed (28.54s)
```

The bug was that the last level was always removing `Delete` entries even if
there was union level. This is now fixed.
Update to `quickcheck-lockstep-0.8`
The most invasive change is that the `Realized` type family disappeared, but as
a result we also have to run the `IOSim` test with the `RealWorld` state token.
The `quickcheck-dynamic` library requires the return types of actions to be
`Typeable`, and if the state token appears in the return type of an action
(which it does in our tests), then the state token has to be typeable, which is
only really possible if we use `RealWorld`.