Commit Graph

68 Commits

Author SHA1 Message Date
Alex Chi Z
38c7ef6f2f docs: s/tutorial/course
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2025-01-19 19:28:07 -05:00
Alex Chi Z.
7f4b204064 relicense mini-lsm-book to CC BY-NC-SA 4.0 (#118)
* relicense mini-lsm-book to CC BY-NC-SA 4.0

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

* clearify license

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

* fix fmt

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

* fix fmt

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

---------

Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2025-01-19 19:24:12 -05:00
Alex Chi Z.
23802b23dd chore: bump compiler version and clippy fixes (#105)
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-12-09 00:23:03 -05:00
Alex Chi Z.
8420e6ec1a fix(docs): update universal compaction instructions (#101)
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-11-12 21:56:40 -05:00
Alex Chi Z.
9cca6ad420 fix: universal compaction condition (#97)
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-11-12 21:27:00 -05: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
Alex Chi Z
2b527fd6dc fix: ensure WAL is atomic for each write batch (#84)
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-07-02 20:23:33 -04:00
Foreverhighness
aa35a96dfc fix: clippy lint (#80)
* clippy(merge_iterator): fix `clippy::non_canonical_partial_ord_impl` lint.

* clippy(bloom): fix `clippy::manual_clamp` lint.

* clippy(compact): fix `clippy::assigning_clones` lint.

* clippy(key): fix `clippy::legacy_numeric_constants` lint.

* clippy(mem_table): fix `clippy::missing_transmute_annotations` lint.
2024-06-23 12:45:56 -04:00
Yue Yin
afe6c9549d Fix typos in W3D5 writeup and code (#67) 2024-03-24 15:23:39 -04:00
0x29a
621d7a8cf3 chore: typos & refine comments (#65)
* typo in  week2-01-compaction.md

* chroe: typos & add comments

* chore: more typos

* Update week2-01-compaction.md

---------

Co-authored-by: Alex Chi Z <iskyzh@gmail.com>
2024-03-24 15:23:07 -04:00
dimbtp
afad25b6fd fix: call lsm::close when closing the cli (#60) 2024-03-18 17:58:37 -04:00
Yongxin-Hu
2015ee1703 fix: typo (#61) 2024-03-16 13:04:12 -04:00
0x29a
f1fa216d0e chore: typos (#42) 2024-02-06 11:38:07 +08:00
PinelliaC
0b2243acf0 refactor: error handling (#41) 2024-02-06 11:37:59 +08:00
Alex Chi
fcb01d4704 sync starter code with refsol on MergeIterator
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-02-05 12:49:07 +08:00
Yu Lei
71342d4384 feat: refine the CLI tool (#33)
* implement a repl

* remove debug log
2024-01-30 17:04:25 +08: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 Z
acc3c959aa add 3.6
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-30 14:48:03 +08:00
Alex Chi
c45d6c8261 add 3.3 test
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-29 20:43:10 +08:00
Alex Chi
37f2c5aff0 fix compaction split bug and add 3.1 test
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-28 16:01:40 +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
b4485f49c3 finish 2.7
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-28 14:08:08 +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
218c73f384 patch memtable and add ts for wal
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 23:09:16 +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
971d0b1c81 make mvcc impl compile with new key module
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 12:28:33 +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
64bb89eee8 finish part 2
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-24 17:34:25 +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
4d676a451a sync api with refsol
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-24 14:37:16 +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 Z
415c3c4eef finish chapter 2.4
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-23 15:53:20 +08:00
Alex Chi Z
016c6ccadc finish 2.2 write-up
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-23 14:43:44 +08:00
Alex Chi
bb8eb4a1a2 add week2day1 test
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-22 22:27:58 +08:00
Alex Chi
39924ee538 update week 2 starter code
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-22 22:05:47 +08:00
Alex Chi
e8601433d6 finish week 1 day 7
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-21 19:33:05 +08:00
Alex Chi Z
fa35a7dc9e finish week 1 day 6
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-21 17:40:47 +08:00
Alex Chi Z
8be0a2d475 finish week 1 day 5 read path
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-21 15:26:22 +08:00
Alex Chi Z
9eb197114d finish week 1 day 3+4 block/sst
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-21 14:21:09 +08:00
Alex Chi Z
f88394a686 add week 1 day 3 blocks
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-21 13:55:49 +08:00
Alex Chi
892e6ab8f7 add week 1 day 2 tutorial
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-21 11:56:09 +08:00
Alex Chi
f7f2fd37e4 add w1d1 and update starter code
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-20 21:54:16 +08:00
Alex Chi
4928ececba ensure sync
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-20 11:16:55 +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
693e7f2e6a finish leveled compaction
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-18 14:50:12 +08:00
Alex Chi Z
e622bee18a check compaction converge for simple leveled
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-17 16:23:58 +08:00