Commit Graph

4489 Commits

Author SHA1 Message Date
Tyler Neely cb14155b89 [new file format] use crc on frame lengths in metadata store 2024-04-14 19:35:49 +02:00
Tyler Neely 795a2217df check-in this weekend's work before flying 2024-04-09 12:22:42 +02:00
Tyler Neely a2fb9aacfd Sync slabs dir after potentially initializing new files 2024-04-07 20:38:06 +02:00
Tyler Neely 534fbfb2c6 Silence warnings 2024-04-07 18:32:48 +02:00
Tyler Neely 1516077a78 Properly fsync slab files after write batches 2024-04-07 18:23:24 +02:00
Tyler Neely 4e4a3f93c1 Provide more information for debugging failed crash tests 2024-04-01 10:02:13 +02:00
Tyler Neely 2a888dbcae Remove redundant and incorrect debug log event 2024-03-24 20:20:51 +01:00
Tyler Neely 3a87137aab Properly log cooperative serialization in batch processing as CooperativelySerialized in the debug log 2024-03-23 20:11:28 +01:00
Tyler Neely 6905c87dd4 Add notion of max unflushed epoch to leaves 2024-03-10 07:51:01 +01:00
Tyler Neely 16c108de0d Tighten up concurrent tests by adding concurrent flushers to get epoch number assumptions to pop out 2024-03-09 10:37:43 +01:00
Tyler Neely d6ed26edc5 Update project TODOs and get things into place for proper fsync management 2024-02-18 08:22:16 +01:00
Tyler Neely bd65e8e0c4 Increase the strictness of the event verifier and fix a variety of subtle race conditions that it flagged 2024-02-11 17:52:35 +01:00
Tyler Neely 433e9b0768 Mark ObjectCache as RefUnwindSafe 2024-02-11 10:45:30 +01:00
Tyler Neely 83a7bff65c Handle flusher thread panics in a way that causes tests to fail as expected 2024-02-11 10:44:49 +01:00
Tyler Neely c043a1fdba Better abstract the leaf storage and make room for the soon-to-be-added index+log approach 2024-02-10 15:46:13 +01:00
Tyler Neely d9533c3c50
Update ARCHITECTURE.md
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
2024-01-04 23:57:50 +01:00
Tyler Neely 8c69736c1f Make concurrent iterator test more intense 2023-12-29 19:03:21 +01:00
Tyler Neely bc8b14b9f8 Update TODOs 2023-12-29 19:03:06 +01:00
Tyler Neely ff5dec5eb8 Use small cache for the concurrent iterator test, and run many more test cases to get current bugs to jump out 2023-12-28 15:32:43 +01:00
Tyler Neely ffbdade44f Add significantly more stats to the read and write paths. 2023-12-28 15:31:47 +01:00
Tyler Neely e2e75ededf Have testing par! macro provide an InlineArray instead of a Vec<u8> 2023-12-26 21:26:33 -05:00
Tyler Neely 896b6981f0 Abstract low-level Leaf access methods to enable lower defect prefix-aware operations 2023-12-26 21:25:11 -05:00
Tyler Neely dd72722c6d Clear TODO related to file resiziing 2023-12-25 18:25:02 -05:00
Tyler Neely e6f509e715 Bump version to 1.0.0-alpha.120 2023-12-25 18:22:34 -05:00
Tyler Neely aa1f899a48 Fix size calculation for file resizing 2023-12-25 18:21:44 -05:00
Tyler Neely ecc717a3a0 Perform file truncation when a slab is detected to be at 80% of its previous peak capacity 2023-12-25 18:00:24 -05:00
Tyler Neely ca270abf25 prioritize TODOs 2023-12-25 13:58:42 -05:00
Tyler Neely 11b50b53d4 Use BTreeSet instead of BinaryHeap in the Allocator 2023-12-25 13:58:23 -05:00
Tyler Neely 8d34f6b8f4 Address some TODOs, clean up the system more 2023-12-25 12:23:41 -05:00
Tyler Neely c9d66f6589 Bump version to alpha.119 2023-12-24 22:16:39 -05:00
Tyler Neely 48e6c7f05e Remove unreachable wildcard match in history verifier 2023-12-24 22:15:55 -05:00
Tyler Neely bae5da35eb Refine testing assertions 2023-12-24 22:12:34 -05:00
Tyler Neely 784e287ad4 Refine testing 2023-12-24 22:07:49 -05:00
Tyler Neely 07fcb1d64f Fix bug in paging out dirty pages 2023-12-24 21:58:54 -05:00
Tyler Neely 947131e11b Improve verification subsystem 2023-12-24 21:20:23 -05:00
Tyler Neely 2647942831 Thread significantly more event verification into the writepath 2023-12-24 17:41:57 -05:00
Tyler Neely 024edbefab Clarify minimum flush epoch and better test it 2023-12-24 15:02:50 -05:00
Tyler Neely cf118a8652 Complete Merge 2023-12-24 15:02:04 -05:00
Tyler Neely ed98f936c0 Have reads return optional values if the page was freed 2023-12-17 09:56:51 +01:00
Tyler Neely 6e24fa3082 Be more pedantic in deletion test 2023-12-17 09:55:30 +01:00
Tyler Neely 971b91bb84 Reduce quickcheck operation counts a bit 2023-11-12 00:03:35 +01:00
Tyler Neely 86fe050b63 Re-add max_allocated as it will be used for file truncation 2023-11-12 00:01:55 +01:00
Tyler Neely cb44c1f70f A large number of improvements towards on-disk file GC 2023-11-12 00:00:42 +01:00
Tyler Neely fe48530576 Check in gc pest 2023-11-05 16:48:40 +01:00
Tyler Neely 8228aaabab Add allocation and GC counters to Stats 2023-10-29 16:45:18 +01:00
Tyler Neely af4ec89316 Check-in initial GC object rewriting logic 2023-10-28 20:27:12 +02:00
Tyler Neely b765c2fa1c A collection of cleanups and the beginnings of heap defragmentation 2023-10-19 15:09:13 +02:00
Tyler Neely ce51eeb5e0 Standardize naming on ObjectId. Include CollectionId and low key in Object struct 2023-10-03 16:33:07 +02:00
Tyler Neely 4b1aea0e26 Improve naming 2023-10-03 15:02:18 +02:00
Tyler Neely 0209baaae0 Fix-up assertions so that tests pass 2023-10-03 14:22:28 +02:00