fix(rustdb-storage): run collection compaction during file storage initialization after crashes
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-04-05 - 2.5.9 - fix(rustdb-storage)
|
||||
run collection compaction during file storage initialization after crashes
|
||||
|
||||
- Triggers compaction for all loaded collections before starting the periodic background compaction task.
|
||||
- Helps clean up dead weight left from before a crash during startup.
|
||||
|
||||
## 2026-04-05 - 2.5.8 - fix(rustdb-storage)
|
||||
detect stale hint files using data file size metadata and add restart persistence regression tests
|
||||
|
||||
|
||||
@@ -504,6 +504,13 @@ impl StorageAdapter for FileStorageAdapter {
|
||||
"FileStorageAdapter initialization complete"
|
||||
);
|
||||
|
||||
// Run compaction on all collections that need it (dead weight from before crash)
|
||||
for entry in self.collections.iter() {
|
||||
let state = entry.value();
|
||||
let _guard = state.write_lock.lock().unwrap();
|
||||
state.try_compact();
|
||||
}
|
||||
|
||||
// Start periodic compaction task (runs every 24 hours)
|
||||
{
|
||||
let collections = self.collections.clone();
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/smartdb',
|
||||
version: '2.5.8',
|
||||
version: '2.5.9',
|
||||
description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user