Skip to content

Commit eeaa00a

Browse files
Shubham8287kim
andauthored
Commitlog offset index (#1671)
Signed-off-by: Shubham Mishra <shubham@clockworklabs.io> Co-authored-by: Kim Altintop <kim@eagain.io>
1 parent eadea95 commit eeaa00a

File tree

14 files changed

+1828
-999
lines changed

14 files changed

+1828
-999
lines changed

Cargo.lock

Lines changed: 1220 additions & 962 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/bindings/tests/snapshots/deps__duplicate_deps.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
source: crates/bindings/tests/deps.rs
33
expression: cargo tree -p spacetimedb -e no-dev -d --depth 0
44
---
5-
syn v1.0.109
5+
heck v0.4.1
66

7-
syn v2.0.39
7+
heck v0.5.0

crates/bindings/tests/snapshots/deps__spacetimedb_bindings_dependencies.snap

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
source: crates/bindings/tests/deps.rs
33
expression: "cargo tree -p spacetimedb -f {lib} -e no-dev"
44
---
5-
total crates: 60
5+
total crates: 62
66
spacetimedb
77
├── bytemuck
88
├── derive_more
@@ -26,6 +26,12 @@ spacetimedb
2626
│ ├── libc
2727
│ ├── rand_chacha
2828
│ │ ├── ppv_lite86
29+
│ │ │ └── zerocopy
30+
│ │ │ ├── byteorder
31+
│ │ │ └── zerocopy_derive
32+
│ │ │ ├── proc_macro2 (*)
33+
│ │ │ ├── quote (*)
34+
│ │ │ └── syn (*)
2935
│ │ └── rand_core
3036
│ │ └── getrandom (*)
3137
│ └── rand_core (*)
@@ -42,10 +48,7 @@ spacetimedb
4248
│ │ ├── itertools
4349
│ │ │ └── either
4450
│ │ └── nohash_hasher
45-
│ └── syn
46-
│ ├── proc_macro2 (*)
47-
│ ├── quote (*)
48-
│ └── unicode_ident
51+
│ └── syn (*)
4952
├── spacetimedb_bindings_sys
5053
│ └── spacetimedb_primitives (*)
5154
├── spacetimedb_lib
@@ -65,7 +68,7 @@ spacetimedb
6568
│ │ │ ├── ahash
6669
│ │ │ │ ├── cfg_if
6770
│ │ │ │ ├── once_cell
68-
│ │ │ │ └── zerocopy
71+
│ │ │ │ └── zerocopy (*)
6972
│ │ │ │ [build-dependencies]
7073
│ │ │ │ └── version_check
7174
│ │ │ └── allocator_api2

crates/commitlog/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ bitflags.workspace = true
1515
crc32c.workspace = true
1616
itertools.workspace = true
1717
log.workspace = true
18+
memmap2 = "0.9.4"
1819
serde = { workspace = true, optional = true }
1920
spacetimedb-primitives.workspace = true
2021
spacetimedb-sats.workspace = true
22+
tempfile.workspace = true
2123
thiserror.workspace = true
2224

2325
[dev-dependencies]

crates/commitlog/src/commitlog.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ impl<R: Repo, T> Generic<R, T> {
230230
} else {
231231
let byte_offset = segment::Header::LEN as u64 + bytes_read;
232232
debug!("truncating segment {segment} to {offset} at {byte_offset}");
233-
let file = self.repo.open_segment(segment)?;
234-
file.ftruncate(byte_offset)?;
233+
let mut file = self.repo.open_segment(segment)?;
234+
file.ftruncate(offset, byte_offset)?;
235235
// Some filesystems require fsync after ftruncate.
236236
file.fsync()?;
237237
break;

0 commit comments

Comments
 (0)