Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
92396cd
impl blob fragmentation stats in Version etc.
marvin-j97 Sep 28, 2025
d37773d
impl compaction stream expired KV callback
marvin-j97 Sep 28, 2025
629c157
Merge branch '3.0.0' into auto-gc
marvin-j97 Sep 28, 2025
8c87fee
wip
marvin-j97 Sep 28, 2025
a00270b
FragmentationMap::prune
marvin-j97 Sep 28, 2025
92c783f
Tree::stale_blob_bytes
marvin-j97 Sep 28, 2025
22623e2
wip
marvin-j97 Sep 28, 2025
032a55b
split ValueType into own file
marvin-j97 Sep 28, 2025
3bbb90e
test: add assertion
marvin-j97 Sep 28, 2025
42dc7e7
wip
marvin-j97 Sep 28, 2025
997daa0
wip
marvin-j97 Sep 28, 2025
69d0342
fix deserialization of data block items
marvin-j97 Sep 28, 2025
1355170
replace MaybeInlineValue with BlobIndirection
marvin-j97 Sep 28, 2025
f4afd98
refactor: blob writer API
marvin-j97 Sep 29, 2025
dd09143
add checksum type to blob file meta
marvin-j97 Sep 29, 2025
4ef3aff
wip
marvin-j97 Sep 29, 2025
65ab601
Merge remote-tracking branch 'origin/3.0.0' into auto-gc
marvin-j97 Sep 29, 2025
47a8351
adjust blob fragmentation map after table drop
marvin-j97 Sep 29, 2025
dd29371
clippy
marvin-j97 Sep 29, 2025
0008929
in compaction merge, link blob files to created tables
marvin-j97 Sep 29, 2025
274d9e0
Merge branch '3.0.0' into auto-gc
marvin-j97 Sep 29, 2025
bbc2fc0
wip
marvin-j97 Sep 29, 2025
0203b26
change kv separation options
marvin-j97 Sep 29, 2025
2a449ee
refactor
marvin-j97 Sep 29, 2025
ca6a102
wip
marvin-j97 Sep 29, 2025
87f64ef
fmt
marvin-j97 Sep 29, 2025
ffaa100
cache shenanigans
marvin-j97 Sep 30, 2025
a4497f2
remove kv example
marvin-j97 Sep 30, 2025
889bc3b
update blob file writer, scanner etc.
marvin-j97 Oct 4, 2025
c19a4f1
wip
marvin-j97 Oct 4, 2025
2f17836
rename test case
marvin-j97 Oct 4, 2025
2ffceee
change key range binary encoding
marvin-j97 Oct 4, 2025
238e6bb
big compaction refactor
marvin-j97 Oct 4, 2025
74e58af
refactor
marvin-j97 Oct 4, 2025
2df9e6a
move blob file ID generator into TreeInner
marvin-j97 Oct 4, 2025
3cc4fa3
test: blob relocation
marvin-j97 Oct 4, 2025
96646bb
fix test
marvin-j97 Oct 4, 2025
edf81a8
add blob handling to Version
marvin-j97 Oct 4, 2025
8b66447
wip
marvin-j97 Oct 4, 2025
bb78d6b
disable seqno truncation temporarily
marvin-j97 Oct 4, 2025
529909c
fix: show tables on compaction fail
marvin-j97 Oct 4, 2025
85f0043
add file descriptor cache metrics tickers
marvin-j97 Oct 4, 2025
82f424d
rename
marvin-j97 Oct 4, 2025
c796194
test: blob file drop test
marvin-j97 Oct 4, 2025
953b038
increase blob file scanner buffer size
marvin-j97 Oct 4, 2025
2bd9618
fix: version merge with dropping blob files
marvin-j97 Oct 4, 2025
267b3d5
drop dead blob files on merge
marvin-j97 Oct 4, 2025
ea4cc52
allow Version change fn to be fallible
marvin-j97 Oct 5, 2025
a2c0da7
test: add blob GC test case
marvin-j97 Oct 5, 2025
9f35f1d
change vlog fd caching to need an Arc clone less
marvin-j97 Oct 5, 2025
498f6a4
fmt
marvin-j97 Oct 5, 2025
6f83c59
refactor: compactor blob drain logic
marvin-j97 Oct 5, 2025
eb873f7
don't rewrite dead blob files
marvin-j97 Oct 5, 2025
6be58e4
wip
marvin-j97 Oct 5, 2025
baed8b2
wip
marvin-j97 Oct 5, 2025
87c0254
add blob checksum error logs
marvin-j97 Oct 6, 2025
fbaf6e6
adjust kv opts config
marvin-j97 Oct 6, 2025
e127dcd
hide some stuff from config
marvin-j97 Oct 6, 2025
718b781
adjust tests
marvin-j97 Oct 6, 2025
fc3308f
use blob config in compaction
marvin-j97 Oct 6, 2025
fac206c
test: add blob compression test case
marvin-j97 Oct 6, 2025
77e41b5
clippy
marvin-j97 Oct 6, 2025
29b9e1d
adjust blob config options
marvin-j97 Oct 7, 2025
8ba35dc
remove commented code
marvin-j97 Oct 7, 2025
b55bee2
change abstract tree api
marvin-j97 Oct 7, 2025
99d3fb6
introduce super version and refactor sealed memtables list
marvin-j97 Oct 7, 2025
93a7637
adjust tests
marvin-j97 Oct 7, 2025
3e3b25e
wip
marvin-j97 Oct 7, 2025
0c78c63
adjust tests
marvin-j97 Oct 7, 2025
57e0e1b
remove unnecessary function
marvin-j97 Oct 7, 2025
c4c523b
adjust test
marvin-j97 Oct 7, 2025
8bb3933
perf: use coarse lock (super version)
marvin-j97 Oct 7, 2025
a56df3f
wip
marvin-j97 Oct 7, 2025
90352ee
adjust blob tree to use super version as well
marvin-j97 Oct 7, 2025
df6daf7
wip
marvin-j97 Oct 7, 2025
35e65ad
adjust compactor to use super version as well
marvin-j97 Oct 7, 2025
73c6841
fix: blob tests
marvin-j97 Oct 7, 2025
fac1014
actually fix blob tests
marvin-j97 Oct 7, 2025
2dc9d87
adjust tests
marvin-j97 Oct 8, 2025
8e7b43f
add back another test
marvin-j97 Oct 8, 2025
cc8f7a2
fix: blob tree guard size of inline value
marvin-j97 Oct 8, 2025
76e3df1
derive
marvin-j97 Oct 9, 2025
44e3bbe
remove level manifest
marvin-j97 Oct 11, 2025
0bfdf25
version recovery
marvin-j97 Oct 11, 2025
493d03c
compaction state
marvin-j97 Oct 11, 2025
e5fd958
implement compaction state in tree
marvin-j97 Oct 11, 2025
9f143c4
adjust compaction worker
marvin-j97 Oct 11, 2025
5302583
Merge pull request #162 from fjall-rs/coarse-locking
marvin-j97 Oct 11, 2025
37c5398
refactor: closes #87
marvin-j97 Oct 11, 2025
05247dc
refactor
marvin-j97 Oct 11, 2025
f0f055a
update recovery cleanup
marvin-j97 Oct 11, 2025
33ecaaf
wip
marvin-j97 Oct 12, 2025
4263e09
add value type sanity check
marvin-j97 Oct 12, 2025
f4b81ee
change value type
marvin-j97 Oct 12, 2025
b3c1ada
checksum before decompression
marvin-j97 Oct 12, 2025
9ed50cc
relocation skip recompressing
marvin-j97 Oct 12, 2025
65ceaa0
refactor
marvin-j97 Oct 12, 2025
a45791c
wip
marvin-j97 Oct 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
matrix:
rust_version:
- stable
- "1.89.0" # MSRV
- "1.87.0" # MSRV
os:
- ubuntu-latest
- windows-latest
Expand All @@ -38,9 +38,6 @@ jobs:
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ runner.os }}-cargo
workspaces: >
. -> target
examples/kv -> target
- name: Install cargo-all-features
run: cargo install cargo-all-features
- uses: taiki-e/install-action@nextest
Expand All @@ -54,8 +51,6 @@ jobs:
run: cargo nextest run --all-features
- name: Run doc tests
run: cargo test --doc --features lz4
- name: Build & test LSM examples
run: node compile_examples.mjs
cross:
timeout-minutes: 15
name: cross
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ fuzz*/**/out*

microbench/**/data.jsonl
microbench/**/*.svg

old
5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
name = "lsm-tree"
description = "A K.I.S.S. implementation of log-structured merge trees (LSM-trees/LSMTs)"
license = "MIT OR Apache-2.0"
version = "3.0.0-pre.0"
version = "3.0.0-pre.1"
edition = "2021"
rust-version = "1.82.0"
rust-version = "1.87.0"
readme = "README.md"
include = ["src/**/*", "LICENSE-APACHE", "LICENSE-MIT", "README.md"]
repository = "https://github.com/fjall-rs/lsm-tree"
Expand Down Expand Up @@ -45,6 +45,7 @@ criterion = { version = "0.5.1", features = ["html_reports"] }
fs_extra = "1.3.0"
nanoid = "0.4.0"
rand = "0.9.2"
strum = { version = "0.27.2", features = ["derive"] }
test-log = "0.2.18"

[package.metadata.cargo-all-features]
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![CI](https://github.com/fjall-rs/lsm-tree/actions/workflows/test.yml/badge.svg)](https://github.com/fjall-rs/lsm-tree/actions/workflows/test.yml)
[![docs.rs](https://img.shields.io/docsrs/lsm-tree?color=green)](https://docs.rs/lsm-tree)
[![Crates.io](https://img.shields.io/crates/v/lsm-tree?color=blue)](https://crates.io/crates/lsm-tree)
![MSRV](https://img.shields.io/badge/MSRV-1.82.0-blue)
![MSRV](https://img.shields.io/badge/MSRV-1.87.0-blue)
[![dependency status](https://deps.rs/repo/github/fjall-rs/lsm-tree/status.svg)](https://deps.rs/repo/github/fjall-rs/lsm-tree)

A K.I.S.S. implementation of log-structured merge trees (LSM-trees/LSMTs) in Rust.
Expand Down
33 changes: 0 additions & 33 deletions compile_examples.mjs

This file was deleted.

3 changes: 0 additions & 3 deletions examples/kv/.gitignore

This file was deleted.

14 changes: 0 additions & 14 deletions examples/kv/Cargo.toml

This file was deleted.

3 changes: 0 additions & 3 deletions examples/kv/README.md

This file was deleted.

Loading