Merge pull request #4667 from guggero/auto-compact

channeldb/kvdb/bolt: automatically compact database on startup
This commit is contained in:
Olaoluwa Osuntokun authored and GitHub committed 2020-11-16 17:50:14 -08:00
commit e4f0f2aa69
21 files changed
+659 -94

No files matched your search

+10 -4
View File
@@ -26,7 +26,9 @@ type DB struct {
func DefaultDB() *DB {
return &DB{
Backend: BoltBackend,
Bolt: &kvdb.BoltConfig{},
Bolt: &kvdb.BoltConfig{
AutoCompactMinAge: kvdb.DefaultBoltAutoCompactMinAge,
},
}
}
@@ -81,9 +83,13 @@ func (db *DB) GetBackends(ctx context.Context, dbPath string,
}
}
localDB, err = kvdb.GetBoltBackend(
dbPath, dbName, !db.Bolt.SyncFreelist,
)
localDB, err = kvdb.GetBoltBackend(&kvdb.BoltBackendConfig{
DBPath: dbPath,
DBFileName: dbName,
NoFreelistSync: !db.Bolt.SyncFreelist,
AutoCompact: db.Bolt.AutoCompact,
AutoCompactMinAge: db.Bolt.AutoCompactMinAge,
})
if err != nil {
return nil, err
}