config: replace use_write_cache
with writecache.enabled
This is the way things are done with `grpc.tls` and in neo-go. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
20b3ff84b3
commit
e976a55358
9 changed files with 22 additions and 27 deletions
|
@ -373,10 +373,8 @@ func initShardOptions(c *cfg) {
|
|||
engineconfig.IterateShards(c.appCfg, require, func(sc *shardconfig.Config) {
|
||||
var writeCacheOpts []writecache.Option
|
||||
|
||||
useWriteCache := sc.UseWriteCache()
|
||||
if useWriteCache {
|
||||
writeCacheCfg := sc.WriteCache()
|
||||
|
||||
if writeCacheCfg.Enabled() {
|
||||
writeCacheOpts = []writecache.Option{
|
||||
writecache.WithPath(writeCacheCfg.Path()),
|
||||
writecache.WithLogger(c.log),
|
||||
|
@ -421,7 +419,7 @@ func initShardOptions(c *cfg) {
|
|||
Timeout: 100 * time.Millisecond,
|
||||
}),
|
||||
),
|
||||
shard.WithWriteCache(useWriteCache),
|
||||
shard.WithWriteCache(writeCacheCfg.Enabled()),
|
||||
shard.WithWriteCacheOptions(writeCacheOpts...),
|
||||
shard.WithRemoverBatchSize(gcCfg.RemoverBatchSize()),
|
||||
shard.WithGCRemoverSleepInterval(gcCfg.RemoverSleepInterval()),
|
||||
|
|
|
@ -55,7 +55,7 @@ func TestEngineSection(t *testing.T) {
|
|||
|
||||
switch num {
|
||||
case 0:
|
||||
require.Equal(t, false, sc.UseWriteCache())
|
||||
require.Equal(t, false, wc.Enabled())
|
||||
|
||||
require.Equal(t, "tmp/0/cache", wc.Path())
|
||||
require.EqualValues(t, 2147483648, wc.MemSize())
|
||||
|
@ -85,7 +85,7 @@ func TestEngineSection(t *testing.T) {
|
|||
require.Equal(t, false, sc.RefillMetabase())
|
||||
require.Equal(t, shard.ModeReadOnly, sc.Mode())
|
||||
case 1:
|
||||
require.Equal(t, true, sc.UseWriteCache())
|
||||
require.Equal(t, true, wc.Enabled())
|
||||
|
||||
require.Equal(t, "tmp/1/cache", wc.Path())
|
||||
require.EqualValues(t, 2147483648, wc.MemSize())
|
||||
|
|
|
@ -20,16 +20,6 @@ func From(c *config.Config) *Config {
|
|||
return (*Config)(c)
|
||||
}
|
||||
|
||||
// UseWriteCache returns value of "use_write_cache" config parameter.
|
||||
//
|
||||
// Panics if value is not a valid bool.
|
||||
func (x *Config) UseWriteCache() bool {
|
||||
return config.Bool(
|
||||
(*config.Config)(x),
|
||||
"use_write_cache",
|
||||
)
|
||||
}
|
||||
|
||||
// BlobStor returns "blobstor" subsection as a blobstorconfig.Config.
|
||||
func (x *Config) BlobStor() *blobstorconfig.Config {
|
||||
return blobstorconfig.From(
|
||||
|
|
|
@ -31,6 +31,13 @@ func From(c *config.Config) *Config {
|
|||
return (*Config)(c)
|
||||
}
|
||||
|
||||
// Enabled returns true if write-cache is enabled and false otherwise.
|
||||
//
|
||||
// Panics if value is not a boolean.
|
||||
func (x *Config) Enabled() bool {
|
||||
return config.Bool((*config.Config)(x), "enabled")
|
||||
}
|
||||
|
||||
// Path returns value of "path" config parameter.
|
||||
//
|
||||
// Panics if value is not a non-empty string.
|
||||
|
|
|
@ -76,7 +76,7 @@ NEOFS_STORAGE_SHARD_0_RESYNC_METABASE=false
|
|||
### Flag to set shard mode
|
||||
NEOFS_STORAGE_SHARD_0_MODE=read-only
|
||||
### Write cache config
|
||||
NEOFS_STORAGE_SHARD_0_USE_WRITE_CACHE=false
|
||||
NEOFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false
|
||||
NEOFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache
|
||||
NEOFS_STORAGE_SHARD_0_WRITECACHE_MEMCACHE_CAPACITY=2147483648
|
||||
NEOFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384
|
||||
|
@ -110,7 +110,7 @@ NEOFS_STORAGE_SHARD_1_RESYNC_METABASE=true
|
|||
### Flag to set shard mode
|
||||
NEOFS_STORAGE_SHARD_1_MODE=read-write
|
||||
### Write cache config
|
||||
NEOFS_STORAGE_SHARD_1_USE_WRITE_CACHE=true
|
||||
NEOFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true
|
||||
NEOFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache
|
||||
NEOFS_STORAGE_SHARD_1_WRITECACHE_MEMCACHE_CAPACITY=2147483648
|
||||
NEOFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384
|
||||
|
|
|
@ -119,8 +119,8 @@
|
|||
"0": {
|
||||
"mode": "read-only",
|
||||
"resync_metabase": false,
|
||||
"use_write_cache": false,
|
||||
"writecache": {
|
||||
"enabled": false,
|
||||
"path": "tmp/0/cache",
|
||||
"memcache_capacity": 2147483648,
|
||||
"small_object_size": 16384,
|
||||
|
@ -156,8 +156,8 @@
|
|||
"1": {
|
||||
"mode": "read-write",
|
||||
"resync_metabase": true,
|
||||
"use_write_cache": true,
|
||||
"writecache": {
|
||||
"enabled": true,
|
||||
"path": "tmp/1/cache",
|
||||
"memcache_capacity": 2147483648,
|
||||
"small_object_size": 16384,
|
||||
|
|
|
@ -102,9 +102,8 @@ storage:
|
|||
default: # section with the default shard parameters
|
||||
resync_metabase: true # sync metabase with blobstor on start, expensive, leave false until complete understanding
|
||||
|
||||
use_write_cache: true # use write-cache
|
||||
|
||||
writecache:
|
||||
enabled: true
|
||||
memcache_capacity: 2147483648 # approximate RAM usage limit for "small" objects, bytes
|
||||
small_object_size: 16384 # size threshold for "small" objects which are cached in key-value DB, not in FS, bytes
|
||||
max_object_size: 134217728 # size threshold for "big" objects which bypass write-cache and go to the storage directly, bytes
|
||||
|
@ -134,9 +133,8 @@ storage:
|
|||
mode: "read-only" # mode of the shard, must be one of the: "read-write" (default), "read-only"
|
||||
resync_metabase: false # sync metabase with blobstor on start, expensive, leave false until complete understanding
|
||||
|
||||
use_write_cache: false # use write-cache
|
||||
|
||||
writecache:
|
||||
enabled: false
|
||||
path: tmp/0/cache # write-cache root directory
|
||||
capacity: 3221225472 # approximate write-cache total size, bytes
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@ storage:
|
|||
shard_num: 1
|
||||
shard:
|
||||
0:
|
||||
use_write_cache: false
|
||||
metabase:
|
||||
path: <storage-path>/metabase
|
||||
perm: 0600
|
||||
|
@ -31,6 +30,8 @@ storage:
|
|||
opened_cache_capacity: 32
|
||||
depth: 1
|
||||
width: 1
|
||||
writecache:
|
||||
enabled: false
|
||||
gc:
|
||||
remover_batch_size: 100
|
||||
remover_sleep_interval: 1m
|
||||
|
|
|
@ -39,7 +39,6 @@ storage:
|
|||
shard_num: 1
|
||||
shard:
|
||||
0:
|
||||
use_write_cache: false
|
||||
metabase:
|
||||
path: /storage/metabase
|
||||
perm: 0777
|
||||
|
@ -50,6 +49,8 @@ storage:
|
|||
opened_cache_capacity: 32
|
||||
depth: 1
|
||||
width: 1
|
||||
writecache:
|
||||
enabled: false
|
||||
gc:
|
||||
remover_batch_size: 100
|
||||
remover_sleep_interval: 1m
|
||||
|
|
Loading…
Reference in a new issue