forked from TrueCloudLab/frostfs-node
[#1639] config: Separate replicator.pool_size
from other settings
Separated `replicator.pool_size` and `object.put.remote_pool_size` settings. Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
This commit is contained in:
parent
9a0507704a
commit
a97bded440
4 changed files with 15 additions and 10 deletions
|
@ -1177,10 +1177,6 @@ func initObjectPool(cfg *config.Config) (pool cfgObjectRoutines) {
|
||||||
fatalOnErr(err)
|
fatalOnErr(err)
|
||||||
|
|
||||||
replicatorPoolSize := replicatorconfig.PoolSize(cfg)
|
replicatorPoolSize := replicatorconfig.PoolSize(cfg)
|
||||||
if replicatorPoolSize <= 0 {
|
|
||||||
replicatorPoolSize = putRemoteCapacity
|
|
||||||
}
|
|
||||||
|
|
||||||
pool.replication, err = ants.NewPool(replicatorPoolSize)
|
pool.replication, err = ants.NewPool(replicatorPoolSize)
|
||||||
fatalOnErr(err)
|
fatalOnErr(err)
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@ const (
|
||||||
|
|
||||||
// PutTimeoutDefault is a default timeout of object put request in replicator.
|
// PutTimeoutDefault is a default timeout of object put request in replicator.
|
||||||
PutTimeoutDefault = 5 * time.Second
|
PutTimeoutDefault = 5 * time.Second
|
||||||
|
// PoolSizeDefault is a default pool size for put request in replicator.
|
||||||
|
PoolSizeDefault = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
// PutTimeout returns the value of "put_timeout" config parameter
|
// PutTimeout returns the value of "put_timeout" config parameter
|
||||||
|
@ -28,6 +30,13 @@ func PutTimeout(c *config.Config) time.Duration {
|
||||||
|
|
||||||
// PoolSize returns the value of "pool_size" config parameter
|
// PoolSize returns the value of "pool_size" config parameter
|
||||||
// from "replicator" section.
|
// from "replicator" section.
|
||||||
|
//
|
||||||
|
// Returns PoolSizeDefault if the value is non-positive integer.
|
||||||
func PoolSize(c *config.Config) int {
|
func PoolSize(c *config.Config) int {
|
||||||
return int(config.IntSafe(c.Sub(subsection), "pool_size"))
|
v := int(config.IntSafe(c.Sub(subsection), "pool_size"))
|
||||||
|
if v > 0 {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
||||||
|
return PoolSizeDefault
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ func TestReplicatorSection(t *testing.T) {
|
||||||
empty := configtest.EmptyConfig()
|
empty := configtest.EmptyConfig()
|
||||||
|
|
||||||
require.Equal(t, replicatorconfig.PutTimeoutDefault, replicatorconfig.PutTimeout(empty))
|
require.Equal(t, replicatorconfig.PutTimeoutDefault, replicatorconfig.PutTimeout(empty))
|
||||||
require.Equal(t, 0, replicatorconfig.PoolSize(empty))
|
require.Equal(t, replicatorconfig.PoolSizeDefault, replicatorconfig.PoolSize(empty))
|
||||||
})
|
})
|
||||||
|
|
||||||
const path = "../../../../config/example/node"
|
const path = "../../../../config/example/node"
|
||||||
|
|
|
@ -396,10 +396,10 @@ replicator:
|
||||||
pool_size: 10
|
pool_size: 10
|
||||||
```
|
```
|
||||||
|
|
||||||
| Parameter | Type | Default value | Description |
|
| Parameter | Type | Default value | Description |
|
||||||
|---------------|------------|----------------------------------------|---------------------------------------------|
|
|---------------|------------|---------------|---------------------------------------------|
|
||||||
| `put_timeout` | `duration` | `5s` | Timeout for performing the `PUT` operation. |
|
| `put_timeout` | `duration` | `5s` | Timeout for performing the `PUT` operation. |
|
||||||
| `pool_size` | `int` | Equal to `object.put.remote_pool_size` | Maximum amount of concurrent replications. |
|
| `pool_size` | `int` | `10` | Maximum amount of concurrent replications. |
|
||||||
|
|
||||||
# `object` section
|
# `object` section
|
||||||
Contains object-service related parameters.
|
Contains object-service related parameters.
|
||||||
|
|
Loading…
Add table
Reference in a new issue