Commit Graph

35 Commits

Author SHA1 Message Date
Alex Chi Z
dd333ca5a7 docs: add recovery mode for leveled compaction (#86)
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-07-02 20:36:07 -04:00
Eikasia30
77e15efad4 fix: avoid leveled compaction crash when recovering from manifest (#63)
* Fix: Avoid leveled copaction crash when recovering from manifest

* Also sort SSTs in manifest recovery

* Add `in_recovery` flag to `apply_compaction_result`

- Don't sort the SSTs inside `apply_compaction_result` if in recovery
2024-07-02 20:25:43 -04:00
Yongxin-Hu
2015ee1703 fix: typo (#61) 2024-03-16 13:04:12 -04:00
letterbeezps
faa001a801 fix capacity of level ssts (#55)
* fix capacity of level ssts

* fix lower ssts capacity in campaction
2024-03-10 14:30:41 -04:00
Alex Chi Z
a6c32e8af8 finish full tutorial
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-30 15:42:15 +08:00
Alex Chi
85acf69dcc fix wal close not waiting for threads, better test harness
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-28 16:38:56 +08:00
Alex Chi
5f1b10b03b use symlink when possible
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-28 15:17:53 +08:00
Alex Chi
78ec7c9375 finish skeleton for serializability check
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-26 18:14:42 +08:00
Alex Chi
6025bb8dca implement mvcc compaction + snapshot
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-26 16:52:37 +08:00
Alex Chi
14c3be390c add week 2 day 5 + 6 tests
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-26 15:19:56 +08:00
Alex Chi
89acc23208 implement 2.7
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 21:53:47 +08:00
Alex Chi
8dbaf54e38 add compaction tests and fix bugs in compaction
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 15:25:23 +08:00
Alex Chi Z
a3a92359e1 add key abstraction and prepare for MVCC (#28)
* add key abstraction and prepare for MVCC

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* a little bit type exercise

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* refactor tests

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* fix clippy warnings

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* refactor starter code

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* final touch docs

Signed-off-by: Alex Chi <iskyzh@gmail.com>

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 10:59:08 +08:00
Alex Chi
0d995dff19 fix clippy warnings
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-24 14:39:00 +08:00
Alex Chi
9473c89330 checkin part 2 solution
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-24 14:32:13 +08:00
Alex Chi
b1458a66b2 fix warnings
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-20 11:14:19 +08:00
Alex Chi
9fd30f6aa8 sync starter code
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-20 11:11:09 +08:00
Alex Chi
cfa7c0c2af fix warnings
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-19 17:44:38 +08:00
Alex Chi
bb535aec75 fix test error
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-19 17:34:23 +08:00
Alex Chi
6b24d6dfab finish persistence
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-19 17:28:47 +08:00
Alex Chi
13ae8fe8fb fix read path after compaction
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-19 16:10:18 +08:00
Alex Chi Z
49c22152ae add wal and manifest
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-19 11:21:38 +08:00
Alex Chi
53cb1fe4a4 finish compaction
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-18 19:40:05 +08:00
Alex Chi
ce33f62be6 add compaction thread to lsm storage
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-18 17:51:24 +08:00
Alex Chi
9620a57211 fix fmt
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-18 15:15:51 +08:00
Alex Chi
693e7f2e6a finish leveled compaction
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-18 14:50:12 +08:00
Alex Chi Z
a9fca43f79 add compaction controller + simulator
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-16 16:30:01 +08:00
Alex Chi Z
d109882d89 add compaction skeleton (#16)
* add compaction skeleton

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* remove tombstone when compact to bottom-most level

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* new plan

Signed-off-by: Alex Chi Z <iskyzh@gmail.com>

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-10 14:25:23 +08:00
Alex Chi Z
e82428cb39 bump toolchain
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-10 14:12:34 +08:00
Alex Chi
d8cc9b2cf8 refactor: move iterator trait to parent mod
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-12-24 18:25:41 -05:00
Alex Chi
51e075c1ed feat(code): add block cache
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-12-24 18:07:18 -05:00
Alex Chi
86503ac58d fix(code): use rwlock in storage
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-12-24 17:13:52 -05:00
Alex Chi
0aff26af38 feat(code): finish part 4
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-12-24 16:27:42 -05:00
Alex Chi
3ed6204400 feat(code): finish part 3
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-12-24 14:48:57 -05:00
Alex Chi
4eb2177a3e feat(code): part 3 iterators
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-12-24 10:11:06 -05:00