48 Commits

Author SHA1 Message Date
Joseph Koshakow
af96807ecc Replace a predicate that was always false with a literal (#151)
* Replace a predicate that was always false with a literal

* comment + fix mvcc version

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

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
Co-authored-by: Alex Chi <iskyzh@gmail.com>
2025-06-07 19:27:52 +08:00
lxc
17b221fb4e remove unnecessary compaction condition check for key below watermark (#145)
remove unnecessary condition check
2025-05-06 21:59:03 +08:00
Ligh0x74
6fba57ac4d fix: handle the exclude boundary logic of the memory table (#140)
* fix: handle the exclude boundary logic of the memory table

* add comments

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

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
Co-authored-by: Alex Chi <iskyzh@gmail.com>
2025-05-05 18:08:21 +08:00
letterbeezps
041fb140c5 make write batch aotmic under txn sys (#91) 2025-03-09 16:12:10 -04:00
Alex Chi Z.
1d9693c22f feat: bump to Rust edition 2024 (#132)
* feat: bump to Rust edition 2024

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

* allow deadcode

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

* fix deploy to pages

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

* fix fmt

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

* update actions

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

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
2025-03-09 16:11:52 -04:00
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
Zhelong Zhao
cc1b174515 fix(compaction): correct level0_file_num_compaction_trigger in simple leveled compaction (#112)
* fix(compaction): correct level0_file_num_compaction_trigger in simple leveled compaction

Signed-off-by: zztaki <zztaki@outlook.com>

* minor nit + sync to mvcc version

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

---------

Signed-off-by: zztaki <zztaki@outlook.com>
Signed-off-by: Alex Chi <iskyzh@gmail.com>
Co-authored-by: Alex Chi <iskyzh@gmail.com>
2024-12-29 16:23:28 -07: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.
9cca6ad420 fix: universal compaction condition (#97)
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-11-12 21:27:00 -05:00
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
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
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
letterbeezps
1aa53aa17f simplify the implementation of scan (#45) 2024-02-11 10:41:07 -05:00
Alex Chi
2077c15e82 apply 0b2243acf0 on mvcc
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-02-11 10:40:06 -05:00
0x29a
f1fa216d0e chore: typos (#42) 2024-02-06 11:38:07 +08:00
Alex Chi
770400d983 improve compaction concat iterator tests
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-30 18:18:55 +08:00
Alex Chi Z
30da00c517 fix leveled compaction tests
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-30 17:14:53 +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 Z
9eab75ec1a add 3.5 tests
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
2024-01-30 13:39:58 +08:00
Alex Chi
a17f34b7d9 finish 3.5
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-30 12:39:36 +08:00
Alex Chi
4ad97f716c add 3.4 tests
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-30 12:14:32 +08:00
Alex Chi
3cecf09d59 add interface on watermark
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-29 21:19:25 +08:00
Alex Chi
1795647bad fix compile error
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-29 20:46:35 +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
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
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
062fa86f42 more links in the tutorial
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-26 22:32:55 +08:00
Alex Chi
0d64ac090e finish serializable check
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-26 22:20:06 +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
595016f2b6 ensure compaction can finish in mvcc
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 23:45:00 +08:00
Alex Chi
63429b50d5 consider merge width for tiered trigger + mvcc compaction
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 23:38:26 +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
753e6d4f9e checkin initial MVCC codebase
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-25 12:28:33 +08:00