Home / Input Output / lsm-tree
Nov 14, 2-3 PM (4)
Nov 14, 3-4 PM (4)
Nov 14, 4-5 PM (12)
Nov 14, 5-6 PM (0)
Nov 14, 6-7 PM (1)
Nov 14, 7-8 PM (0)
Nov 14, 8-9 PM (1)
Nov 14, 9-10 PM (0)
Nov 14, 10-11 PM (0)
Nov 14, 11-12 AM (0)
Nov 15, 12-1 AM (0)
Nov 15, 1-2 AM (0)
Nov 15, 2-3 AM (0)
Nov 15, 3-4 AM (0)
Nov 15, 4-5 AM (0)
Nov 15, 5-6 AM (0)
Nov 15, 6-7 AM (0)
Nov 15, 7-8 AM (0)
Nov 15, 8-9 AM (0)
Nov 15, 9-10 AM (0)
Nov 15, 10-11 AM (1)
Nov 15, 11-12 PM (0)
Nov 15, 12-1 PM (0)
Nov 15, 1-2 PM (1)
Nov 15, 2-3 PM (1)
Nov 15, 3-4 PM (0)
Nov 15, 4-5 PM (3)
Nov 15, 5-6 PM (1)
Nov 15, 6-7 PM (0)
Nov 15, 7-8 PM (0)
Nov 15, 8-9 PM (0)
Nov 15, 9-10 PM (0)
Nov 15, 10-11 PM (0)
Nov 15, 11-12 AM (0)
Nov 16, 12-1 AM (0)
Nov 16, 1-2 AM (0)
Nov 16, 2-3 AM (0)
Nov 16, 3-4 AM (0)
Nov 16, 4-5 AM (0)
Nov 16, 5-6 AM (0)
Nov 16, 6-7 AM (0)
Nov 16, 7-8 AM (0)
Nov 16, 8-9 AM (0)
Nov 16, 9-10 AM (0)
Nov 16, 10-11 AM (0)
Nov 16, 11-12 PM (0)
Nov 16, 12-1 PM (0)
Nov 16, 1-2 PM (0)
Nov 16, 2-3 PM (0)
Nov 16, 3-4 PM (0)
Nov 16, 4-5 PM (0)
Nov 16, 5-6 PM (0)
Nov 16, 6-7 PM (0)
Nov 16, 7-8 PM (0)
Nov 16, 8-9 PM (0)
Nov 16, 9-10 PM (0)
Nov 16, 10-11 PM (0)
Nov 16, 11-12 AM (0)
Nov 17, 12-1 AM (0)
Nov 17, 1-2 AM (0)
Nov 17, 2-3 AM (0)
Nov 17, 3-4 AM (0)
Nov 17, 4-5 AM (0)
Nov 17, 5-6 AM (0)
Nov 17, 6-7 AM (0)
Nov 17, 7-8 AM (0)
Nov 17, 8-9 AM (0)
Nov 17, 9-10 AM (0)
Nov 17, 10-11 AM (0)
Nov 17, 11-12 PM (0)
Nov 17, 12-1 PM (0)
Nov 17, 1-2 PM (0)
Nov 17, 2-3 PM (0)
Nov 17, 3-4 PM (0)
Nov 17, 4-5 PM (1)
Nov 17, 5-6 PM (0)
Nov 17, 6-7 PM (0)
Nov 17, 7-8 PM (0)
Nov 17, 8-9 PM (0)
Nov 17, 9-10 PM (0)
Nov 17, 10-11 PM (0)
Nov 17, 11-12 AM (0)
Nov 18, 12-1 AM (0)
Nov 18, 1-2 AM (0)
Nov 18, 2-3 AM (0)
Nov 18, 3-4 AM (0)
Nov 18, 4-5 AM (0)
Nov 18, 5-6 AM (0)
Nov 18, 6-7 AM (0)
Nov 18, 7-8 AM (0)
Nov 18, 8-9 AM (6)
Nov 18, 9-10 AM (5)
Nov 18, 10-11 AM (0)
Nov 18, 11-12 PM (0)
Nov 18, 12-1 PM (1)
Nov 18, 1-2 PM (0)
Nov 18, 2-3 PM (0)
Nov 18, 3-4 PM (1)
Nov 18, 4-5 PM (0)
Nov 18, 5-6 PM (1)
Nov 18, 6-7 PM (9)
Nov 18, 7-8 PM (0)
Nov 18, 8-9 PM (0)
Nov 18, 9-10 PM (0)
Nov 18, 10-11 PM (1)
Nov 18, 11-12 AM (0)
Nov 19, 12-1 AM (0)
Nov 19, 1-2 AM (0)
Nov 19, 2-3 AM (0)
Nov 19, 3-4 AM (0)
Nov 19, 4-5 AM (0)
Nov 19, 5-6 AM (0)
Nov 19, 6-7 AM (0)
Nov 19, 7-8 AM (0)
Nov 19, 8-9 AM (1)
Nov 19, 9-10 AM (2)
Nov 19, 10-11 AM (0)
Nov 19, 11-12 PM (0)
Nov 19, 12-1 PM (0)
Nov 19, 1-2 PM (0)
Nov 19, 2-3 PM (0)
Nov 19, 3-4 PM (0)
Nov 19, 4-5 PM (0)
Nov 19, 5-6 PM (0)
Nov 19, 6-7 PM (0)
Nov 19, 7-8 PM (0)
Nov 19, 8-9 PM (0)
Nov 19, 9-10 PM (0)
Nov 19, 10-11 PM (0)
Nov 19, 11-12 AM (0)
Nov 20, 12-1 AM (0)
Nov 20, 1-2 AM (0)
Nov 20, 2-3 AM (0)
Nov 20, 3-4 AM (0)
Nov 20, 4-5 AM (0)
Nov 20, 5-6 AM (0)
Nov 20, 6-7 AM (0)
Nov 20, 7-8 AM (0)
Nov 20, 8-9 AM (0)
Nov 20, 9-10 AM (0)
Nov 20, 10-11 AM (0)
Nov 20, 11-12 PM (0)
Nov 20, 12-1 PM (0)
Nov 20, 1-2 PM (0)
Nov 20, 2-3 PM (0)
Nov 20, 3-4 PM (2)
Nov 20, 4-5 PM (0)
Nov 20, 5-6 PM (0)
Nov 20, 6-7 PM (0)
Nov 20, 7-8 PM (0)
Nov 20, 8-9 PM (0)
Nov 20, 9-10 PM (0)
Nov 20, 10-11 PM (0)
Nov 20, 11-12 AM (0)
Nov 21, 12-1 AM (0)
Nov 21, 1-2 AM (0)
Nov 21, 2-3 AM (0)
Nov 21, 3-4 AM (0)
Nov 21, 4-5 AM (0)
Nov 21, 5-6 AM (0)
Nov 21, 6-7 AM (0)
Nov 21, 7-8 AM (0)
Nov 21, 8-9 AM (0)
Nov 21, 9-10 AM (1)
Nov 21, 10-11 AM (9)
Nov 21, 11-12 PM (0)
Nov 21, 12-1 PM (0)
Nov 21, 1-2 PM (1)
Nov 21, 2-3 PM (0)
69 commits this week Nov 14, 2024 - Nov 21, 2024
Add ForgottenRefs checking into main testsuite
Done in two parts:
1. generally, for all tests, but exceptions are fatal to the test
2. specifically for the state machine tests, properly integrated
   so that failure reporting and shrinking work.

Doing 1. properly for all tests would be quite an effort, because it
needs setup and teardown for each test run.

Without it, exceptions from refs that are forgotten before being
released are thrown to the main thread (which interrupts the tests).
Add new Ref API, but keep the old API for now
This is centered around the notion of singular references, as opposed
to actions to manage a reference count.

Under the hood, a (Ref obj) does manage a reference count within the
obj, but each reference is a single thing. So instead of operations to
increment and decrement reference counts, we have functions to create a
Ref, duplicate a new Ref and release a Ref.

The weak reference API is given similar treatment.
Introduce a unified `LSMTree` API
The new API unifies the `Normal` and `Monoidal` APIs, supporting both blob
references and mupserts, and is strictly more expressive. If a user does not
want to use blobs, then the blob type can be set to `Void`. If a user does not
intend to use the full potential of `Mupserts`, then the `ResolveAsFirst`
wrapper provides a sensible default instance for the `ResolveValue` class.