Whether Congestion Control is enabled for specified MongoDB databases. Overrides settings from MONGO_CONGESTION_CONTROL_ENABLED.
default: {}
description: |
Whether Congestion Control is enabled for specified MongoDB databases.
Overrides settings from MONGO_CONGESTION_CONTROL_ENABLED.
schema:
type: object
example: |
{
// Options for specified database.
"mongo-stq_config": true,
// Default options. Applied to all not specified components.
// If __default__ section is not present,
// use settings from MONGO_CONGESTION_CONTROL_ENABLED
"__default__": false
}
properties:
__default__:
type: boolean
additionalProperties:
type: boolean
Dictionary keys can be either the service component name (not database name!) or __default__. The latter configuration is applied for every non-matching Mongo component of the service.
Options for MongoDB connections pool. Overrides the static config values. For components::MultiMongo all pools are updated.
default: {}
description: |
Options for MongoDB connections pool (uservices) for service.
This options replace static config.
When using MultiMongo all pools are updated.
schema:
type: object
example: |
{
// Options for specified component.
"mongo-stq_config": {
"initial_size": 32,
"max_size": 256,
"idle_limit": 128,
"connecting_limit": 8
},
// Default options. Applied to all not specified components.
"__default__": {
"initial_size": 16,
"max_size": 128,
"idle_limit": 64,
"connecting_limit": 8
}
}
properties:
__default__:
$ref: "#/definitions/PoolSettings"
additionalProperties:
$ref: "#/definitions/PoolSettings"
definitions:
PoolSettings:
type: object
additionalProperties: false
properties:
initial_size:
type: integer
minimum: 0
default: 16
description: number of connections created initially.
max_size:
type: integer
minimum: 1
default: 128
description: limit for total connections number.
idle_limit:
type: integer
minimum: 1
default: 64
description: limit for idle connections number.
connecting_limit:
type: integer
minimum: 0
default: 8
description: limit for establishing connections number.
required:
- max_size
- connecting_limit
Dictionary keys can be either the service component name (not database name!) or __default__. The latter configuration is applied for every non-matching Mongo component of the service.
Transaction timeouts in POSTGRES_QUERIES_COMMAND_CONTROL override the per-query timeouts in POSTGRES_QUERIES_COMMAND_CONTROL, so the latter are ignored if transaction timeouts are set.
Dynamic config that controls connection pool settings of PostgreSQL driver.
Dictionary keys can be either the service component name (not database name!) or __default__. The latter configuration is applied for every non-matching PostgreSQL component of the service.
Take note that it overrides the static configuration values of the service!
Dynamic config that controls topology settings of service's PostgreSQL components.
Dictionary keys can be either the service component name (not database name!) or __default__. The latter configuration is applied for every non-matching PostgreSQL component of the service.
Take note that it overrides the static configuration values of the service!
yaml
type: object
additionalProperties: false
properties:
max_replication_lag_ms:
type: integer
minimum: 0
description: maximum allowed replication lag. If equals 0 no replication
lag checks are performed
disabled_replicas:
type: array
description: List of manually disabled replicas (FQDNs).
Dynamic config that controls settings for newly created connections of PostgreSQL driver.
Dictionary keys can be either the service component name (not database name!) or __default__. The latter configuration is applied for every non-matching PostgreSQL component of the service.
Take note that it overrides the static configuration values of the service!
default: {}
description: ''
schema:
type: object
properties:
__default__:
$ref: "#/definitions/ConnectionSettings"
additionalProperties:
$ref: "#/definitions/ConnectionSettings"
definitions:
ConnectionSettings:
type: object
additionalProperties: false
properties:
persistent-prepared-statements:
type: boolean
default: true
description: Cache prepared statements or not.
user-types-enabled:
type: boolean
default: true
description: Allows usage of user-defined types.
check-user-types:
type: boolean
default: false
description: Check on startup that all user types have been loaded.
Dynamic config that enables connlimit_mode: auto for PostgreSQL connections. Auto mode ignores static and dynamic max_connections configs and verifies that the cluster services use max_connections equals to PostgreSQL server's max_connections divided by service instance count.
Dynamic config that controls statement metrics settings for specific service.
Dictionary keys can be either the service component name (not database name!) or __default__. The latter configuration is applied for every non-matching PostgreSQL component of the service.
The value of max_statement_metrics controls the maximum size of LRU-cache for named statement metrics. When set to 0 (default) no metrics are being exported.
The exported data can be found as postgresql.statement_timings.
Dynamic config that turns on omit-describe-in-execute experiment for pg queries. The value specifies the current version of the experiment. Specify 0 to disable.
default: 0
description: ''
schema:
type: integer
minimum: 0
POSTGRES_CONNECTION_PIPELINE_EXPERIMENT
Dynamic config that turns on pipeline-mode experiment for pg connections. The value specifies the current version of the experiment. Specify 0 to disable.
default: 0
description: ''
schema:
type: integer
minimum: 0
REDIS_COMMANDS_BUFFERING_SETTINGS
Dynamic config that controls command buffering for specific service. Enabling of this config activates a delay in sending commands. When commands are sent, they are combined into a single tcp packet and sent together. First command arms timer and then during watch_command_timer_interval_us commands are accumulated in the buffer
Dynamic config that controls the metric settings for specific service.
Dictionary keys can be either the database name (not the component name!) or __default__. The latter configuration is applied for every non-matching Redis database/sentinel of the service.
yaml
type: object
additionalProperties:
$ref: "#/definitions/MetricsSettings"
definitions:
MetricsSettings:
type: object
additionalProperties: false
properties:
timings-enabled:
type: boolean
default: true
description: enable timings statistics
command-timings-enabled:
type: boolean
default: false
description: enable statistics for individual commands
Dynamic config that controls the redis pubsub metric settings for specific service.
Dictionary keys can be either the database name (not the component name!) or __default__. The latter configuration is applied for every non-matching Redis database/sentinel of the service.
yaml
type: object
additionalProperties:
$ref: "#/definitions/PubsubMetricsSettings"
definitions:
PubsubMetricsSettings:
type: object
additionalProperties: false
properties:
per-shard-stats-enabled:
type: boolean
default: true
description: enable collecting statistics by shard
Dynamic config that controls the retry budget (throttling) settings for components::Redis.
Dictionary keys can be either the database name (not the component name!) or __default__. The latter configuration is applied for every non-matching Redis database/sentinel of the service.
Dynamic config that controls the monitoring settings for synchronizing replicas.
Dictionary keys can be either the database name (not the component name!) or __default__. The latter configuration is applied for every non-matching Redis database/sentinel of the service.
yaml
type: object
additionalProperties:
$ref: '#/definitions/BaseSettings'
definitions:
BaseSettings:
type: object
additionalProperties: false
properties:
enable-monitoring:
description: set to `true` to turn on monitoring
type: boolean
forbid-requests-to-syncing-replicas:
description: set to true to forbid requests to syncing replicas
Proxy for all the HTTP and HTTPS clients. Empty string disables proxy usage.
Proxy string may be prefixed with [scheme]:// to specify which kind of proxy is used. Schemes match the libcurl supported ones. A proxy host string can also embed user and password.
Logging per line and file overrides. Log locations are defined as path prefix from the Arcadia root ("taxi/uservices/services/"). Location of file may be followed by :[line index] to specify 1 exact log in that file.
yaml
default:
force-enabled: []
force-disabled: []
schema:
type: object
additionalProperties: false
required:
- force-enabled
- force-disabled
properties:
force-enabled:
type: array
description: Locations of logs to turn on. This option is deprecated, consider using "force-enabled-level" instead.
items:
type: string
force-disabled:
type: array
description: Locations of logs to turn off, logs with level WARNING and higher will not be affected.
This option is deprecated, consider using "force-disabled-level" instead.
items:
type: string
force-enabled-level:
type: object
description: |
Locations of logs to turn on with level equal or higher to given.
For example, to turn on all logs with level WARNING or higher in "userver/grpc",
all logs with level DEBUG or higher in file "userver/core/src/server/server.cpp"
and 1 log (since exact line is specified) with level TRACE in file "userver/core/src/server/http/http_request_parser.cpp":
If the USERVER_LOG_REQUEST_HEADERS option is enabled, you can control which HTTP headers are logged, including their values. Header is suitable if it exactly matches one of the values in the whitelist. Any headers that are not on the whitelist will have their values replaced with *** in the logs.
Controls whether congestion control limiting of RPS is performed (if main task processor is overloaded, then the server starts rejecting some requests).