[#1118] neofs-node: add shard_ro_error_threshold config setting

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgenii Stratonikov 2022-02-01 11:15:54 +03:00 committed by Alex Vanin
parent ed50cf6207
commit e03cb91b64
6 changed files with 13 additions and 0 deletions

View file

@ -58,3 +58,10 @@ func ShardPoolSize(c *config.Config) uint32 {
return ShardPoolSizeDefault
}
// ShardErrorThreshold returns value of "shard_ro_error_threshold" config parameter from "storage" section.
//
// Returns 0 if the value is missing.
func ShardErrorThreshold(c *config.Config) uint32 {
return config.Uint32Safe(c.Sub(subsection), "shard_ro_error_threshold")
}

View file

@ -31,6 +31,7 @@ func TestEngineSection(t *testing.T) {
require.False(t, handlerCalled)
require.EqualValues(t, 0, engineconfig.ShardErrorThreshold(empty))
require.EqualValues(t, engineconfig.ShardPoolSizeDefault, engineconfig.ShardPoolSize(empty))
require.EqualValues(t, shard.ModeReadWrite, shardconfig.From(empty).Mode())
})
@ -40,6 +41,7 @@ func TestEngineSection(t *testing.T) {
var fileConfigTest = func(c *config.Config) {
num := 0
require.EqualValues(t, 100, engineconfig.ShardErrorThreshold(c))
require.EqualValues(t, 15, engineconfig.ShardPoolSize(c))
engineconfig.IterateShards(c, true, func(sc *shardconfig.Config) {