mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-29 01:12:24 +08:00
expose vlogFileSize in badgerds config
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
This commit is contained in:
@ -16,6 +16,7 @@ import (
|
|||||||
ds "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore"
|
ds "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore"
|
||||||
mount "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore/syncmount"
|
mount "gx/ipfs/QmPpegoMqhAEqjncrzArm7KVWAkCm78rqL2DPuNjhPrshg/go-datastore/syncmount"
|
||||||
|
|
||||||
|
humanize "gx/ipfs/QmPSBJL4momYnE7DcUyk2DVhD6rH488ZmHBGLbxNdhU44K/go-humanize"
|
||||||
ldbopts "gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb/opt"
|
ldbopts "gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb/opt"
|
||||||
badgerds "gx/ipfs/Qmbjb3c2KRPVNZWSvQED8zAf12Brdbp3ksSnGdsJiytqUs/go-ds-badger"
|
badgerds "gx/ipfs/Qmbjb3c2KRPVNZWSvQED8zAf12Brdbp3ksSnGdsJiytqUs/go-ds-badger"
|
||||||
levelds "gx/ipfs/Qmbkc8BMfEixGCeKRuGGbf34mAjTb9xPmJ8Pm5gHU7ohZ4/go-ds-leveldb"
|
levelds "gx/ipfs/Qmbkc8BMfEixGCeKRuGGbf34mAjTb9xPmJ8Pm5gHU7ohZ4/go-ds-leveldb"
|
||||||
@ -342,6 +343,8 @@ func (c measureDatastoreConfig) Create(path string) (repo.Datastore, error) {
|
|||||||
type badgerdsDatastoreConfig struct {
|
type badgerdsDatastoreConfig struct {
|
||||||
path string
|
path string
|
||||||
syncWrites bool
|
syncWrites bool
|
||||||
|
|
||||||
|
vlogFileSize int64
|
||||||
}
|
}
|
||||||
|
|
||||||
// BadgerdsDatastoreConfig returns a configuration stub for a badger datastore
|
// BadgerdsDatastoreConfig returns a configuration stub for a badger datastore
|
||||||
@ -366,6 +369,22 @@ func BadgerdsDatastoreConfig(params map[string]interface{}) (DatastoreConfig, er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vls, ok := params["vlogFileSize"]
|
||||||
|
if !ok {
|
||||||
|
// default to 1GiB
|
||||||
|
c.vlogFileSize = badgerds.DefaultOptions.ValueLogFileSize
|
||||||
|
} else {
|
||||||
|
if vlogSize, ok := vls.(string); ok {
|
||||||
|
s, err := humanize.ParseBytes(vlogSize)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
c.vlogFileSize = int64(s)
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("'vlogFileSize' field was not a string")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return &c, nil
|
return &c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -389,6 +408,7 @@ func (c *badgerdsDatastoreConfig) Create(path string) (repo.Datastore, error) {
|
|||||||
|
|
||||||
defopts := badgerds.DefaultOptions
|
defopts := badgerds.DefaultOptions
|
||||||
defopts.SyncWrites = c.syncWrites
|
defopts.SyncWrites = c.syncWrites
|
||||||
|
defopts.ValueLogFileSize = c.vlogFileSize
|
||||||
|
|
||||||
return badgerds.NewDatastore(p, &defopts)
|
return badgerds.NewDatastore(p, &defopts)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user