Skip to content

Commit 7fd0b67

Browse files
committed
recover next segment ID
1 parent a409c28 commit 7fd0b67

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/value_log.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,21 @@ impl ValueLog {
131131
let blob_cache = config.blob_cache.clone();
132132
let manifest = SegmentManifest::recover(&path)?;
133133

134+
let highest_id = manifest
135+
.segments
136+
.read()
137+
.expect("lock is poisoned")
138+
.values()
139+
.map(|x| x.id)
140+
.max()
141+
.unwrap_or_default();
142+
134143
Ok(Self(Arc::new(ValueLogInner {
135144
config,
136145
path,
137146
blob_cache,
138147
manifest,
139-
// TODO: recover ID, test!!!, maybe store next ID in manifest as u64
140-
id_generator: IdGenerator::default(),
148+
id_generator: IdGenerator::new(highest_id + 1),
141149
rollover_guard: Mutex::new(()),
142150
})))
143151
}

0 commit comments

Comments
 (0)