---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ytsaurus.tech/docs/en/flow/generated_docs/all_yson_structs.md
  - https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt

# Справочник конфигураций

Данный файл содержит описание всех спек и конфигов, используемых для конфигурации YTsaurus Flow. Алгоритм генерации этого файла рекурсивно ищет все подконфиги. Он несовершенен.

<!-- source: ru/flow/generated_docs/NYT_NApi_EConnectionType.md -->
## NYT::NApi::EConnectionType {#NYT_NApi_EConnectionType}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `native` |  ||
|| `rpc` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NApi_EConnectionType.md -->

<!-- source: ru/flow/generated_docs/NYT_NApi_NRpcProxy_EAddressType.md -->
## NYT::NApi::NRpcProxy::EAddressType {#NYT_NApi_NRpcProxy_EAddressType}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `internal_rpc` |  ||
|| `monitoring_http` |  ||
|| `http` |  ||
|| `https` |  ||
|| `public_rpc` |  ||
|| `chyt_http` |  ||
|| `chyt_https` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NApi_NRpcProxy_EAddressType.md -->

<!-- source: ru/flow/generated_docs/NYT_NApi_NRpcProxy_TConnectionConfig.md -->
## NYT::NApi::NRpcProxy::TConnectionConfig {#NYT_NApi_NRpcProxy_TConnectionConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/client/api/rpc_proxy/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/client/api/rpc_proxy/config.h)

#|
|| **Параметр** | **Описание** ||
|| `connection_type` | **Тип**: [NYT::NApi::EConnectionType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NApi_EConnectionType)
**Значение по умолчанию**: `native`
 ||
|| `cluster_name` | **Тип**: `std::optional<std::string>`
 ||
|| `table_mount_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NApi::TTableMountCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NApi_TTableMountCacheConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `replication_card_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NChaosClient::TReplicationCardCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NChaosClient_TReplicationCardCacheConfig)`>`
 ||
|| `chaos_lease_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NChaosClient::TChaosLeaseCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NChaosClient_TChaosLeaseCacheConfig)`>`
 ||
|| `cluster_url` | **Тип**: `std::optional<std::string>`
 ||
|| `cluster_tag` | **Тип**: `std::optional<NYT::TStrongTypedef<unsigned short, NYT::NObjectClient::TCellTagTag, NYT::TStrongTypedefOptions{true}>>`
 ||
|| `proxy_role` | **Тип**: `std::optional<std::string>`
 ||
|| `proxy_address_type` | **Тип**: `std::optional<`[NYT::NApi::NRpcProxy::EAddressType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NApi_NRpcProxy_EAddressType)`>`
 ||
|| `proxy_network_name` | **Тип**: `std::optional<std::string>`
 ||
|| `proxy_addresses` | **Тип**: `std::optional<std::vector<std::string>>`
 ||
|| `proxy_endpoints` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TServiceDiscoveryEndpointsConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TServiceDiscoveryEndpointsConfig)`>`
 ||
|| `proxy_unix_domain_socket` | **Тип**: `std::optional<std::string>`
 ||
|| `enable_proxy_discovery` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `proxy_url_aliasing_rules` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
 ||
|| `dynamic_channel_pool` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TDynamicChannelPoolConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TDynamicChannelPoolConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `ping_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `proxy_list_update_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `proxy_list_retry_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `max_proxy_list_retry_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `max_proxy_list_update_attempts` | **Тип**: `int`
**Значение по умолчанию**: `3`
 ||
|| `rpc_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `rpc_acknowledgement_timeout` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `15000`
 ||
|| `timestamp_provider_latest_timestamp_update_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `default_transaction_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `default_lookup_rows_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `default_select_rows_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `default_total_streaming_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15m`
 ||
|| `default_streaming_stall_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `use_total_streaming_timeout_for_heavy_reads` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `default_chaos_lease_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `default_ping_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `bus_client` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TBusConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TBusConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `idle_channel_ttl` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `http_client` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttp::TClientConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttp_TClientConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `https_client` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttps::TClientConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttps_TClientConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `request_codec` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
**Значение по умолчанию**: `none`
 ||
|| `response_codec` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
**Значение по умолчанию**: `none`
 ||
|| `enable_legacy_rpc_codecs` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_retries` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retrying_channel` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TRetryingChannelConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TRetryingChannelConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `modify_rows_batch_capacity` | **Тип**: `long`
**Значение по умолчанию**: `0`
 ||
|| `clock_cluster_tag` | **Тип**: `NYT::TStrongTypedef<unsigned short, NYT::NObjectClient::TCellTagTag, NYT::TStrongTypedefOptions{true}>`
**Значение по умолчанию**: `61444`
 ||
|| `udf_registry_path` | **Тип**: `std::optional<TString>`
 ||
|| `enable_select_query_tracing_tag` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `do_not_drop_pure_exclusive_locks` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_control_multiplexing_band` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NApi_NRpcProxy_TConnectionConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NApi_TTableMountCacheConfig.md -->
## NYT::NApi::TTableMountCacheConfig {#NYT_NApi_TTableMountCacheConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/client/api/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/client/api/config.h)

#|
|| **Параметр** | **Описание** ||
|| `shard_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
 ||
|| `expire_after_access_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30m`
 ||
|| `expire_after_successful_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30m`
 ||
|| `expire_after_failed_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `refresh_time` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `30000`
 ||
|| `expiration_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `10000`
 ||
|| `batch_update` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `reject_if_entry_is_requested_but_not_ready` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `on_error_retry_count` | **Тип**: `int`
**Значение по умолчанию**: `5`
 ||
|| `on_error_retry_slack_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NApi_TTableMountCacheConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_EEncryptionMode.md -->
## NYT::NBus::EEncryptionMode {#NYT_NBus_EEncryptionMode}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `disabled` |  ||
|| `optional` |  ||
|| `required` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_EEncryptionMode.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_EVerificationMode.md -->
## NYT::NBus::EVerificationMode {#NYT_NBus_EVerificationMode}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `ca` |  ||
|| `full` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_EVerificationMode.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_NTcp_TBusConfig.md -->
## NYT::NBus::NTcp::TBusConfig {#NYT_NBus_NTcp_TBusConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/bus/tcp/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/bus/tcp/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable_no_delay` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_aggressive_reconnect` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `allow_bypass_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `min_rto` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `max_rto` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `rto_scale` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
 ||
|| `connect_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `ca` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `cert_chain` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `private_key` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `ssl_configuration_commands` | **Тип**: `std::vector<NYT::TIntrusivePtr<`[NYT::NCrypto::TSslContextCommand](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TSslContextCommand)`>>`
**Значение по умолчанию**: `[]`
 ||
|| `insecure_skip_verify` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_quick_ack` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `bind_retry_count` | **Тип**: `int`
**Значение по умолчанию**: `5`
 ||
|| `bind_retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `connection_start_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `packet_decoder_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `read_stall_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `write_stall_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `verify_checksums` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `generate_checksums` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_local_bypass` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `encryption_mode` | **Тип**: [NYT::NBus::EEncryptionMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_EEncryptionMode)
**Значение по умолчанию**: `optional`
 ||
|| `verification_mode` | **Тип**: [NYT::NBus::EVerificationMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_EVerificationMode)
**Значение по умолчанию**: `none`
 ||
|| `cipher_list` | **Тип**: `std::optional<std::string>`
 ||
|| `load_certs_from_bus_certs_directory` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `peer_alternative_host_name` | **Тип**: `std::optional<std::string>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_NTcp_TBusConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_NTcp_TBusServerConfig.md -->
## NYT::NBus::NTcp::TBusServerConfig {#NYT_NBus_NTcp_TBusServerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/bus/tcp/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/bus/tcp/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable_no_delay` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_aggressive_reconnect` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `allow_bypass_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `min_rto` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `max_rto` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `rto_scale` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
 ||
|| `connect_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `ca` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `cert_chain` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `private_key` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `ssl_configuration_commands` | **Тип**: `std::vector<NYT::TIntrusivePtr<`[NYT::NCrypto::TSslContextCommand](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TSslContextCommand)`>>`
**Значение по умолчанию**: `[]`
 ||
|| `insecure_skip_verify` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_quick_ack` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `bind_retry_count` | **Тип**: `int`
**Значение по умолчанию**: `5`
 ||
|| `bind_retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `connection_start_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `packet_decoder_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `read_stall_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `write_stall_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `verify_checksums` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `generate_checksums` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_local_bypass` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `encryption_mode` | **Тип**: [NYT::NBus::EEncryptionMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_EEncryptionMode)
**Значение по умолчанию**: `optional`
 ||
|| `verification_mode` | **Тип**: [NYT::NBus::EVerificationMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_EVerificationMode)
**Значение по умолчанию**: `none`
 ||
|| `cipher_list` | **Тип**: `std::optional<std::string>`
 ||
|| `load_certs_from_bus_certs_directory` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `peer_alternative_host_name` | **Тип**: `std::optional<std::string>`
 ||
|| `port` | **Тип**: `std::optional<int>`
 ||
|| `unix_domain_socket_path` | **Тип**: `std::optional<std::string>`
 ||
|| `max_backlog_size` | **Тип**: `int`
**Значение по умолчанию**: `8192`
 ||
|| `max_simultaneous_connections` | **Тип**: `int`
**Значение по умолчанию**: `50000`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_NTcp_TBusServerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_NTcp_TDispatcherConfig.md -->
## NYT::NBus::NTcp::TDispatcherConfig {#NYT_NBus_NTcp_TDispatcherConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/bus/tcp/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/bus/tcp/config.h)

#|
|| **Параметр** | **Описание** ||
|| `thread_pool_size` | **Тип**: `int`
**Значение по умолчанию**: `8`
 ||
|| `thread_pool_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10ms`
 ||
|| `network_bandwidth` | **Тип**: `std::optional<long>`
 ||
|| `networks` | **Тип**: `THashMap<std::string, std::vector<NYT::NNet::TIP6Network>>`
**Значение по умолчанию**: `{}`
 ||
|| `multiplexing_bands` | **Тип**: `NYT::TEnumIndexedArray<NYT::NBus::EMultiplexingBand, NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TMultiplexingBandConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TMultiplexingBandConfig)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `bus_certs_directory_path` | **Тип**: `std::optional<std::string>`
 ||
|| `enable_local_bypass` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_NTcp_TDispatcherConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_NTcp_TDispatcherDynamicConfig.md -->
## NYT::NBus::NTcp::TDispatcherDynamicConfig {#NYT_NBus_NTcp_TDispatcherDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/bus/tcp/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/bus/tcp/config.h)

#|
|| **Параметр** | **Описание** ||
|| `thread_pool_size` | **Тип**: `std::optional<int>`
 ||
|| `thread_pool_polling_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `network_bandwidth` | **Тип**: `std::optional<long>`
 ||
|| `networks` | **Тип**: `std::optional<THashMap<std::string, std::vector<NYT::NNet::TIP6Network>>>`
 ||
|| `multiplexing_bands` | **Тип**: `std::optional<NYT::TEnumIndexedArray<NYT::NBus::EMultiplexingBand, NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TMultiplexingBandConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TMultiplexingBandConfig)`>>>`
 ||
|| `bus_certs_directory_path` | **Тип**: `std::optional<std::string>`
 ||
|| `enable_local_bypass` | **Тип**: `std::optional<bool>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_NTcp_TDispatcherDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NBus_NTcp_TMultiplexingBandConfig.md -->
## NYT::NBus::NTcp::TMultiplexingBandConfig {#NYT_NBus_NTcp_TMultiplexingBandConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/bus/tcp/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/bus/tcp/config.h)

#|
|| **Параметр** | **Описание** ||
|| `tos_level` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `network_to_tos_level` | **Тип**: `THashMap<std::string, int>`
**Значение по умолчанию**: `{}`
 ||
|| `min_multiplexing_parallelism` | **Тип**: `int`
**Значение по умолчанию**: `1`
 ||
|| `max_multiplexing_parallelism` | **Тип**: `int`
**Значение по умолчанию**: `1000`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NBus_NTcp_TMultiplexingBandConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NChaosClient_TChaosLeaseCacheConfig.md -->
## NYT::NChaosClient::TChaosLeaseCacheConfig {#NYT_NChaosClient_TChaosLeaseCacheConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/client/chaos_client/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/client/chaos_client/config.h)

#|
|| **Параметр** | **Описание** ||
|| `shard_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
 ||
|| `expire_after_access_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|| `expire_after_successful_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|| `expire_after_failed_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `refresh_time` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `YsonEntity`
 ||
|| `expiration_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `10000`
 ||
|| `batch_update` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retry_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `retry_attempts` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `enable_exponential_retry_backoffs` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retry_backoff` | **Тип**: `NYT::TExponentialBackoffOptions`
**Значение по умолчанию**:

```yson
{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 1.5;
    "invocation_count" = 10;
    "max_backoff" = 5000;
    "min_backoff" = 1000;
}
```
 ||
|| `retry_timeout` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `discover_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `acknowledgement_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `rediscover_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `rediscover_splay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `hard_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `soft_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `max_peer_count` | **Тип**: `int`
**Значение по умолчанию**: `100`
 ||
|| `hashes_per_peer` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `min_peer_count_for_priority_awareness` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `enable_power_of_two_choices_strategy` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `max_concurrent_discover_requests` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `random_peer_eviction_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `enable_peer_polling` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `peer_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `peer_polling_period_splay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
 ||
|| `peer_polling_request_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `peer_priority_strategy` | **Тип**: [NYT::NRpc::EPeerPriorityStrategy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_EPeerPriorityStrategy)
**Значение по умолчанию**: `none`
 ||
|| `discovery_session_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
 ||
|| `disable_balancing_on_single_address` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `hedging_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `cancel_primary_request_on_hedging` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `addresses` | **Тип**: `std::optional<std::vector<std::string>>`
 ||
|| `endpoints` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TServiceDiscoveryEndpointsConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TServiceDiscoveryEndpointsConfig)`>`
 ||
|| `enable_watching` | **Тип**: `bool`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NChaosClient_TChaosLeaseCacheConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NChaosClient_TReplicationCardCacheConfig.md -->
## NYT::NChaosClient::TReplicationCardCacheConfig {#NYT_NChaosClient_TReplicationCardCacheConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/client/chaos_client/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/client/chaos_client/config.h)

#|
|| **Параметр** | **Описание** ||
|| `shard_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
 ||
|| `expire_after_access_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `expire_after_successful_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `expire_after_failed_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `refresh_time` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `10000`
 ||
|| `expiration_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `10000`
 ||
|| `batch_update` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retry_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `retry_attempts` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `enable_exponential_retry_backoffs` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retry_backoff` | **Тип**: `NYT::TExponentialBackoffOptions`
**Значение по умолчанию**:

```yson
{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 1.5;
    "invocation_count" = 10;
    "max_backoff" = 5000;
    "min_backoff" = 1000;
}
```
 ||
|| `retry_timeout` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `discover_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `acknowledgement_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `rediscover_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `rediscover_splay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `hard_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `soft_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `max_peer_count` | **Тип**: `int`
**Значение по умолчанию**: `100`
 ||
|| `hashes_per_peer` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `min_peer_count_for_priority_awareness` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `enable_power_of_two_choices_strategy` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `max_concurrent_discover_requests` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `random_peer_eviction_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `enable_peer_polling` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `peer_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `peer_polling_period_splay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
 ||
|| `peer_polling_request_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `peer_priority_strategy` | **Тип**: [NYT::NRpc::EPeerPriorityStrategy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_EPeerPriorityStrategy)
**Значение по умолчанию**: `none`
 ||
|| `discovery_session_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
 ||
|| `disable_balancing_on_single_address` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `hedging_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `cancel_primary_request_on_hedging` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `addresses` | **Тип**: `std::optional<std::vector<std::string>>`
 ||
|| `endpoints` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TServiceDiscoveryEndpointsConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TServiceDiscoveryEndpointsConfig)`>`
 ||
|| `enable_watching` | **Тип**: `bool`
 ||
|| `watched_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NChaosClient::TWatchedReplicationCardCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NChaosClient_TWatchedReplicationCardCacheConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NChaosClient_TReplicationCardCacheConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NChaosClient_TWatchedReplicationCardCacheConfig.md -->
## NYT::NChaosClient::TWatchedReplicationCardCacheConfig {#NYT_NChaosClient_TWatchedReplicationCardCacheConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/client/chaos_client/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/client/chaos_client/config.h)

#|
|| **Параметр** | **Описание** ||
|| `shard_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
 ||
|| `expire_after_access_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|| `expire_after_successful_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|| `expire_after_failed_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `refresh_time` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `YsonEntity`
 ||
|| `expiration_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `10000`
 ||
|| `batch_update` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NChaosClient_TWatchedReplicationCardCacheConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NClient_NCache_TClientsCacheConfig.md -->
## NYT::NClient::NCache::TClientsCacheConfig {#NYT_NClient_NCache_TClientsCacheConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/client/cache/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/client/cache/config.h)

#|
|| **Параметр** | **Описание** ||
|| `default_connection` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NApi::NRpcProxy::TConnectionConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NApi_NRpcProxy_TConnectionConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `per_cluster_connection` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NApi::NRpcProxy::TConnectionConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NApi_NRpcProxy_TConnectionConfig)`>>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NClient_NCache_TClientsCacheConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NCodegen_EOptimizationLevel.md -->
## NYT::NCodegen::EOptimizationLevel {#NYT_NCodegen_EOptimizationLevel}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `default` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NCodegen_EOptimizationLevel.md -->

<!-- source: ru/flow/generated_docs/NYT_NCompression_ECodec.md -->
## NYT::NCompression::ECodec {#NYT_NCompression_ECodec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `snappy` |  ||
|| `lz4` |  ||
|| `lz4_high_compression` |  ||
|| `brotli_1` |  ||
|| `brotli_2` |  ||
|| `brotli_3` |  ||
|| `brotli_4` |  ||
|| `brotli_5` |  ||
|| `brotli_6` |  ||
|| `brotli_7` |  ||
|| `brotli_8` |  ||
|| `brotli_9` |  ||
|| `brotli_10` |  ||
|| `brotli_11` |  ||
|| `zlib_1` |  ||
|| `zlib_2` |  ||
|| `zlib_3` |  ||
|| `zlib_4` |  ||
|| `zlib_5` |  ||
|| `zlib_6` |  ||
|| `zlib_7` |  ||
|| `zlib_8` |  ||
|| `zlib_9` |  ||
|| `zstd_1` |  ||
|| `zstd_2` |  ||
|| `zstd_3` |  ||
|| `zstd_4` |  ||
|| `zstd_5` |  ||
|| `zstd_6` |  ||
|| `zstd_7` |  ||
|| `zstd_8` |  ||
|| `zstd_9` |  ||
|| `zstd_10` |  ||
|| `zstd_11` |  ||
|| `zstd_12` |  ||
|| `zstd_13` |  ||
|| `zstd_14` |  ||
|| `zstd_15` |  ||
|| `zstd_16` |  ||
|| `zstd_17` |  ||
|| `zstd_18` |  ||
|| `zstd_19` |  ||
|| `zstd_20` |  ||
|| `zstd_21` |  ||
|| `lzma_0` |  ||
|| `lzma_1` |  ||
|| `lzma_2` |  ||
|| `lzma_3` |  ||
|| `lzma_4` |  ||
|| `lzma_5` |  ||
|| `lzma_6` |  ||
|| `lzma_7` |  ||
|| `lzma_8` |  ||
|| `lzma_9` |  ||
|| `bzip2_1` |  ||
|| `bzip2_2` |  ||
|| `bzip2_3` |  ||
|| `bzip2_4` |  ||
|| `bzip2_5` |  ||
|| `bzip2_6` |  ||
|| `bzip2_7` |  ||
|| `bzip2_8` |  ||
|| `bzip2_9` |  ||
|| `zstd_fast_1` |  ||
|| `zstd_fast_2` |  ||
|| `zstd_fast_3` |  ||
|| `zstd_fast_4` |  ||
|| `zstd_fast_5` |  ||
|| `zstd_fast_6` |  ||
|| `zstd_fast_7` |  ||
|| `zlib6` |  ||
|| `gzip_normal` |  ||
|| `zlib9` |  ||
|| `gzip_best_compression` |  ||
|| `zstd` |  ||
|| `brotli3` |  ||
|| `brotli5` |  ||
|| `brotli8` |  ||
|| `quick_lz` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NCompression_ECodec.md -->

<!-- source: ru/flow/generated_docs/NYT_NConcurrency_EExecutionStackKind.md -->
## NYT::NConcurrency::EExecutionStackKind {#NYT_NConcurrency_EExecutionStackKind}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `small` |  ||
|| `large` |  ||
|| `huge` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NConcurrency_EExecutionStackKind.md -->

<!-- source: ru/flow/generated_docs/NYT_NConcurrency_TFiberManagerConfig.md -->
## NYT::NConcurrency::TFiberManagerConfig {#NYT_NConcurrency_TFiberManagerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/concurrency/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/concurrency/config.h)

#|
|| **Параметр** | **Описание** ||
|| `fiber_stack_sizes` | **Тип**: `THashMap<`[NYT::NConcurrency::EExecutionStackKind](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_EExecutionStackKind)`, unsigned long>`
**Значение по умолчанию**: `{}`
 ||
|| `fiber_stack_pool_sizes` | **Тип**: `THashMap<`[NYT::NConcurrency::EExecutionStackKind](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_EExecutionStackKind)`, int>`
**Значение по умолчанию**: `{}`
 ||
|| `max_idle_fibers` | **Тип**: `int`
**Значение по умолчанию**: `5000`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NConcurrency_TFiberManagerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NConcurrency_TFiberManagerDynamicConfig.md -->
## NYT::NConcurrency::TFiberManagerDynamicConfig {#NYT_NConcurrency_TFiberManagerDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/concurrency/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/concurrency/config.h)

#|
|| **Параметр** | **Описание** ||
|| `fiber_stack_sizes` | **Тип**: `THashMap<`[NYT::NConcurrency::EExecutionStackKind](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_EExecutionStackKind)`, unsigned long>`
**Значение по умолчанию**: `{}`
 ||
|| `fiber_stack_pool_sizes` | **Тип**: `THashMap<`[NYT::NConcurrency::EExecutionStackKind](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_EExecutionStackKind)`, int>`
**Значение по умолчанию**: `{}`
 ||
|| `max_idle_fibers` | **Тип**: `std::optional<int>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NConcurrency_TFiberManagerDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NCoreDump_TCoreDumperConfig.md -->
## NYT::NCoreDump::TCoreDumperConfig {#NYT_NCoreDump_TCoreDumperConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/coredumper/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/coredumper/config.h)

#|
|| **Параметр** | **Описание** ||
|| `path` | **Тип**: `std::string`
**Обязательный параметр**
 ||
|| `pattern` | **Тип**: `std::string`
**Значение по умолчанию**: `core.%CORE_DATETIME.%CORE_PID.%CORE_SIG.%CORE_THREAD_NAME-%CORE_REASON`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NCoreDump_TCoreDumperConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NCrypto_TPemBlobConfig.md -->
## NYT::NCrypto::TPemBlobConfig {#NYT_NCrypto_TPemBlobConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/crypto/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/crypto/config.h)

#|
|| **Параметр** | **Описание** ||
|| `environment_variable` | **Тип**: `std::optional<std::string>`
 ||
|| `file_name` | **Тип**: `std::optional<std::string>`
 ||
|| `value` | **Тип**: `std::optional<std::string>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NCrypto_TPemBlobConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NCrypto_TSslContextCommand.md -->
## NYT::NCrypto::TSslContextCommand {#NYT_NCrypto_TSslContextCommand}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/crypto/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/crypto/config.h)

#|
|| **Параметр** | **Описание** ||
|| `name` | **Тип**: `std::string`
**Обязательный параметр**
 ||
|| `value` | **Тип**: `std::string`
**Обязательный параметр**
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NCrypto_TSslContextCommand.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EBacktraceEnricherLevel.md -->
## NYT::NFlow::EBacktraceEnricherLevel {#NYT_NFlow_EBacktraceEnricherLevel}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `enabled_for_all` |  ||
|| `enabled_for_trivial_errors` |  ||
|| `enabled_for_not_native_errors` |  ||
|| `disabled` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EBacktraceEnricherLevel.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EBalanceResource.md -->
## NYT::NFlow::EBalanceResource {#NYT_NFlow_EBalanceResource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `cpu` |  ||
|| `memory` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EBalanceResource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EBalancerMetricsSource.md -->
## NYT::NFlow::EBalancerMetricsSource {#NYT_NFlow_EBalancerMetricsSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `job` | Только метрики текущей джобы: 10-минутная, а пока её нет — 30-секундная и мгновенная. Прежнее поведение. ||
|| `partition` | 10-минутная метрика текущей джобы, а пока её нет — сохранённая история партиции (замер предыдущей джобы, переживает переезд и рестарт). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EBalancerMetricsSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EClickHouseCodec.md -->
## NYT::NFlow::EClickHouseCodec {#NYT_NFlow_EClickHouseCodec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` | Без сжатия. ||
|| `lz4` | Сжатие LZ4: минимальная нагрузка на CPU при умеренной степени сжатия. ||
|| `zstd` | Сжатие ZSTD: выше степень сжатия ценой большей нагрузки на CPU. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EClickHouseCodec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EClickHouseHostSelectionPolicy.md -->
## NYT::NFlow::EClickHouseHostSelectionPolicy {#NYT_NFlow_EClickHouseHostSelectionPolicy}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `ordered_round_robin` | Сохраняет заданный порядок хостов; используется по умолчанию. ||
|| `random_start` | Один раз при создании клиента выбирает равновероятную начальную позицию, затем сохраняет полный круговой порядок перебора всех хостов. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EClickHouseHostSelectionPolicy.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EDistributionOrdering.md -->
## NYT::NFlow::EDistributionOrdering {#NYT_NFlow_EDistributionOrdering}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `strict` | Выходные сообщения (созданные из входных сообщений с одинаковым ключом) распределяются в порядке их создания. Этот порядок переживает репартиционирование (невозможна гонка между останавливающимися и работающими партициями, раздающими исходящие сообщения, порожденные из входящих сообщений с одним ключом). ||
|| `relaxed` | Допускается гонка между останавливающимися и работающими партициями. Немного уменьшает задержки в обработке сообщений при репартиционировании. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EDistributionOrdering.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EFetchType.md -->
## NYT::NFlow::EFetchType {#NYT_NFlow_EFetchType}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `select_rows` | Поддерживает динамические (в том числе реплицированные) таблицы, не поддерживает read-ahead, запросы идут сразу к таблетным нодам (рекомендуемый вариант). ||
|| `table_reader` | Поддерживает динамические и статические таблицы, поддерживает read-ahead, запросы идут через мастер-ноду. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EFetchType.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EFlowStateTarget.md -->
## NYT::NFlow::EFlowStateTarget {#NYT_NFlow_EFlowStateTarget}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `all` | Все категории стейтов (по умолчанию). ||
|| `key_state` | Только `key_states`. ||
|| `partition_state` | Только `partition_states`. ||
|| `external_key_state` | Только external-стейты (`external_key_states` и, для `read-states`, `joined_external_key_states`). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EFlowStateTarget.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EJobBalancerType.md -->
## NYT::NFlow::EJobBalancerType {#NYT_NFlow_EJobBalancerType}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `greedy` |  ||
|| `cpu_aware` |  ||
|| `resource_queue` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EJobBalancerType.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EPipelineState.md -->
## NYT::NFlow::EPipelineState {#NYT_NFlow_EPipelineState}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `unknown` | Дефолтное значение состояния для еще не запущенного пайплайна. ||
|| `stopped` | Пайплайн остановлен. Выполнен `draining` &mdash; все промежуточные сообщения в пайплайне обработаны, актуальные обработанные оффсеты в очереди-источники закоммичены. Все джобы остановлены.
В этом состоянии можно безопасно катить релиз пайплайна и обновлять его статическую спеку.
Запустить запуск перехода в это состояние можно командой `stop-pipeline`. ||
|| `paused` | Пайплайн приостановлен. Все джобы остановлены, но промежуточные сообщения в пайплайне могут быть не обработаны.
Запустить запуск перехода в это состояние можно командой `pause-pipeline`. ||
|| `working` | Пайплайн работает. Сообщения обрабатываются.
Запустить запуск перехода в это состояние можно командой `start-pipeline`. ||
|| `draining` | Промежуточное состояние. Пайплайн в процессе остановки (переход в состояние `stopped`). Дообрабатываются все сообщения, что уже были просмотрены пайплайном из источников и все внутренние  промежуточные сообщения между компьютейшенами. ||
|| `pausing` | Промежуточное состояние. Пайплайн в процессе приостановки. Все джобы останавливаются. ||
|| `completed` | Финальное состояние. Пайплайн завершен. Все источники были конечными (`finite`) и все сообщения из них обработаны.
Выйти из этого состояния сейчас нельзя, только пересоздавать пайплайн. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EPipelineState.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EProcessingMode.md -->
## NYT::NFlow::EProcessingMode {#NYT_NFlow_EProcessingMode}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `exactly_once` | Значение по умолчанию. Результат работы `Transform`, включая выходные сообщения, обработанные сообщения и т.п. - коммитится в `YTsaurus` в рамках одной транзакции. При этом все входные сообщения дедуплицируются по `message_id`. ||
|| `at_least_once_consistent` | В данном режиме отключается дедупликация входных сообщений. В этом режиме `TransformComputation` перестает взаимодействовать с таблицей `input_messages`. Входные сообщения могут быть обработаны несколько раз, при этом результат обработки каждый раз будет сохранен в `output_messages` и гарантированно будет обработан следующими `Computation`. Этот режим можно использовать, если дубли не являются проблемой, например, так как пользовательская логика сама умеет дедуплицировать лишние сообщения. Дубли могут возникать при любых рестартах/падениях джобов (в том числе при решедулинге). Остановка системы через `draining` с помощью `stop-pipeline`, однако, к нарушению гарантий не приводит (если только в процессе не рестартовали джобы по какой-то иной причине). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EProcessingMode.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EQueueTabletIndexRoutingHashPolicy.md -->
## NYT::NFlow::EQueueTabletIndexRoutingHashPolicy {#NYT_NFlow_EQueueTabletIndexRoutingHashPolicy}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `range` | `uint64`-хеш из `tablet_index_routing_hash_expression` сводится к непрерывным равношироким диапазонам (rangeSize = 2^64 / tablet_count); рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. ||
|| `modulo` | `uint64`-хеш из `tablet_index_routing_hash_expression` сводится как `hash % tablet_count`. Не рекомендуется: `Computation`-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении). Используйте `range`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EQueueTabletIndexRoutingHashPolicy.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_ETimeType.md -->
## NYT::NFlow::ETimeType {#NYT_NFlow_ETimeType}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `event_time` |  ||
|| `system_time` |  ||
|| `current_time` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_ETimeType.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_ETimestampFormat.md -->
## NYT::NFlow::ETimestampFormat {#NYT_NFlow_ETimestampFormat}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `seconds` |  ||
|| `milli_seconds` |  ||
|| `iso8601` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_ETimestampFormat.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EUnavailableSourcePolicy.md -->
## NYT::NFlow::EUnavailableSourcePolicy {#NYT_NFlow_EUnavailableSourcePolicy}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `retry` | Значение по умолчанию. Ошибка чтения источника роняет итерацию обхода, чтение повторяется; обход не продвигается за непрочитанный диапазон. ||
|| `mark_unreadable` | Ошибка чтения источника проглатывается, обход идёт дальше, а ключи непрочитанного диапазона резолвятся неинициализированным аксессором (`IsInitialized() == false`). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EUnavailableSourcePolicy.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_EWorkerCoefMode.md -->
## NYT::NFlow::EWorkerCoefMode {#NYT_NFlow_EWorkerCoefMode}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `legacy` | По текущей загрузке партиций каждого воркера относительно средних по компьютейшнам. Прежнее поведение. ||
|| `probing` | По партициям, переехавшим между воркерами: CPU на сообщение до и после переезда. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_EWorkerCoefMode.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NCompanion_TCompanionConfig.md -->
## NYT::NFlow::NCompanion::TCompanionConfig {#NYT_NFlow_NCompanion_TCompanionConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/companion/client/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/companion/client/config.h)

#|
|| **Параметр** | **Описание** ||
|| `port` | **Тип**: `int`
**Значение по умолчанию**: `0`
Порт, на котором воркер общается с процессом-компаньоном. Без него компаньон не стартует. В vanilla-запуске проставляется автоматически: `10082`, пока задача воркера работает на фиксированных портах (`port_count = 0`), либо значение `YT_PORT_2` при `port_count = 3`. ||
|| `monitoring_port` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `companion_process_count` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `http_client_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttp::TClientConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttp_TClientConfig)`>`
**Значение по умолчанию**: `{}`
Конфиг HTTP-клиента, который C++-компаньон отдаёт process function-ам через `IRuntimeInitContext::GetHttpClient()`. Зеркалит одноимённое поле `TFlowNodeConfig`; компаньоны на других языках его игнорируют. ||
|| `https_client_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttps::TClientConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttps_TClientConfig)`>`
**Значение по умолчанию**: `{}`
Конфиг HTTPS-клиента, который C++-компаньон отдаёт process function-ам через `IRuntimeInitContext::GetHttpsClient()`. Зеркалит одноимённое поле `TFlowNodeConfig`; компаньоны на других языках его игнорируют. Конфиг передаётся компаньону через окружение процесса. Для `credentials.private_key` поддерживается только `file_name`; inline-значения и ссылки через переменные окружения запрещены. ||
|| `http_poller_threads` | **Тип**: `int`
**Значение по умолчанию**: `1`
Число потоков HTTP-поллера C++-компаньона, на котором работают его HTTP- и HTTPS-клиенты. Компаньоны на других языках его игнорируют. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NCompanion_TCompanionConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NController_TControllerConfig.md -->
## NYT::NFlow::NController::TControllerConfig {#NYT_NFlow_NController_TControllerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/config.h)

#|
|| **Параметр** | **Описание** ||
|| `controller_threads` | **Тип**: `int`
**Значение по умолчанию**: `5`
Число тредов. ||
|| `orchid_update_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Период пересчёта `orchid`. ||
|| `warm_up_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
Период разогрева при старте контроллера. ||
|| `scheduler_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
Период запуска планировщика. ||
|| `cache_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `feedback_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `metrics_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `write_own_retryable_errors_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `publish_retry_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
Период, в течение которого контроллер пытается передать в YTsaurus информацию, что является лидером. ||
|| `publish_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `2h`
 ||
|| `election_manager` | **Тип**: `NYT::NYTree::TPolymorphicYsonStruct<NYT::NYTree::NDetail::TPolymorphicMapping<&NYT::NFlow::NController::ElectionBackendDiscriminator.<char const at offset 0>, NYT::NFlow::NController::EElectionBackend, NYT::NYTree::NDetail::TOptionalValue<NYT::NFlow::NController::EElectionBackend, (NYT::NFlow::NController::EElectionBackend)0>, NYT::NFlow::NController::TElectionBackendConfigBase, NYT::NYTree::NDetail::TLeafTag<(NYT::NFlow::NController::EElectionBackend)0, NYT::NFlow::NController::TCypressElectionBackendConfig>, NYT::NYTree::NDetail::TLeafTag<(NYT::NFlow::NController::EElectionBackend)1, NYT::NFlow::NController::TDyntableElectionBackendConfig>, NYT::NYTree::NDetail::TLeafTag<(NYT::NFlow::NController::EElectionBackend)2, NYT::NFlow::NController::TChaosElectionBackendConfig>>>`
**Значение по умолчанию**:

```yson
{
    "backend" = "cypress";
    "leader_cache_update_period" = 1000;
    "leader_lease_ping_period" = 1000;
    "leader_lease_ttl" = 5000;
    "lock_acquisition_period" = 1000;
}
```
Настройки выбора лидера среди нескольких контроллеров. ||
|| `persisted_state_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NController::TPersistedStateManagerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NController_TPersistedStateManagerConfig)`>`
**Значение по умолчанию**: `{}`
Настройки `PersistedStateManager`. ||
|| `lease_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NController::TLeaseManagerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NController_TLeaseManagerConfig)`>`
**Значение по умолчанию**: `{}`
Настройки `LeaseManager`. ||
|| `controller_service` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NController::TControllerServiceConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NController_TControllerServiceConfig)`>`
**Значение по умолчанию**: `{}`
Настройки `ControllerService`. ||
|| `bus` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TBusConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TBusConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `publish_request_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Таймаут одного запроса попытки публикации. Неудачная попытка повторяется, так что этот параметр определяет только то, как долго одна попытка может висеть до повтора. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NController_TControllerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NController_TControllerServiceConfig.md -->
## NYT::NFlow::NController::TControllerServiceConfig {#NYT_NFlow_NController_TControllerServiceConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/config.h)

#|
|| **Параметр** | **Описание** ||
|| `set_spec_retry_count` | **Тип**: `int`
**Значение по умолчанию**: `3`
Количество попыток обновления спеки в случае ошибок. ||
|| `set_spec_retry_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
Время между попытками. ||
|| `tables_throttler` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TLoadThroughputThrottlerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TLoadThroughputThrottlerSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NController_TControllerServiceConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NController_TLeaseManagerConfig.md -->
## NYT::NFlow::NController::TLeaseManagerConfig {#NYT_NFlow_NController_TLeaseManagerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/config.h)

#|
|| **Параметр** | **Описание** ||
|| `lease_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
Сколько джоба остаётся отгороженной без обновления фенса контроллером. С кипарисным бэкендом выборов это таймаут мастер-транзакции лиза джобы, с хаосным — таймаут его хаос-лиза, с дин-табличным — время жизни общей для пайплайна строки дедлайна, через которую проходит каждый коммит воркера. ||
|| `lease_ping_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
Период, с которым лидер продлевает лизы. Продлевает всегда лидер, а не воркер, но механика у бэкендов разная: хаосные лизы пингует один периодик, кипарисные — по клиентскому пингеру на транзакцию лиза, а общий дин-табличный дедлайн просто переписывается. ||
|| `max_concurrent_requests` | **Тип**: `long`
**Значение по умолчанию**: `500`
Максимальное количество одновременных запросов, которые менеджер держит в полёте при прицеплении лизов и их прекращении. Не увеличивайте, чтобы избежать перегрузки мастера. На продление не распространяется: хаосные пинги рассылаются одним раундом без ожидания, а кипарисные принадлежат самим транзакциям лизов. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NController_TLeaseManagerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NController_TPersistedStateManagerConfig.md -->
## NYT::NFlow::NController::TPersistedStateManagerConfig {#NYT_NFlow_NController_TPersistedStateManagerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/config.h)

#|
|| **Параметр** | **Описание** ||
|| `timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
Таймаут сохранения в YTsaurus. ||
|| `max_reads_per_transaction` | **Тип**: `long`
**Значение по умолчанию**: `10000`
 ||
|| `max_writes_per_transaction` | **Тип**: `long`
**Значение по умолчанию**: `10000`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NController_TPersistedStateManagerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NDeltaCodecs_ECodec.md -->
## NYT::NFlow::NDeltaCodecs::ECodec {#NYT_NFlow_NDeltaCodecs_ECodec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `x_delta` |  ||
|| `v_c_diff` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NDeltaCodecs_ECodec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NFileStorage_TFileStorageConfig.md -->
## NYT::NFlow::NFileStorage::TFileStorageConfig {#NYT_NFlow_NFileStorage_TFileStorageConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/file_storage/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/file_storage/config.h)

#|
|| **Параметр** | **Описание** ||
|| `path` | **Тип**: `std::string`
**Обязательный параметр**
Точный абсолютный корень кеша одного процесса воркера. Flow не добавляет идентификатор пайплайна, операции или job cookie. Воркер держит эксклюзивный неблокирующий lock на `<path>/.lock` и завершается при старте, если тот же физический корень уже используется. ||
|| `soft_size_limit` | **Тип**: `long`
**Обязательный параметр**
Целевой суммарный размер управляемых payload-файлов и ещё не удалённого trash в байтах после LRU-очистки незакреплённых объектов. ||
|| `hard_size_limit` | **Тип**: `long`
**Обязательный параметр**
Граница admission в байтах для управляемых payload-файлов, ещё не удалённого trash и reservation ожидаемого размера, включая закреплённые объекты. Не является физической квотой тома и не может строго учитывать неизвестный или ошибочно заявленный размер staging и служебные расходы файловой системы. ||
|| `cleanup_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Период фоновой проверки состояния кеша и очистки незакреплённых объектов до `soft_size_limit`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NFileStorage_TFileStorageConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec.md -->
## NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec {#NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/connectors/static_table/source_spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/connectors/static_table/source_spec.h)

#|
|| **Параметр** | **Описание** ||
|| `attribute` | **Тип**: `std::string`
**Обязательный параметр**
 ||
|| `format` | **Тип**: [NYT::NFlow::ETimestampFormat](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_ETimestampFormat)
**Значение по умолчанию**: `iso8601`
 ||
|| `timezone` | **Тип**: `std::optional<std::string>`
Опциональная временная зона IANA для интерпретации таймстемпов ISO 8601 без явного смещения UTC. Явное смещение имеет приоритет. Параметр можно использовать только с `format=iso8601`. Если параметр не указан, таймстемпы без смещения для обратной совместимости интерпретируются как UTC. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_NWorker_TWorkerConfig.md -->
## NYT::NFlow::NWorker::TWorkerConfig {#NYT_NFlow_NWorker_TWorkerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/worker/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/worker/config.h)

#|
|| **Параметр** | **Описание** ||
|| `bus` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TBusConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TBusConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `message_service_threads` | **Тип**: `int`
**Значение по умолчанию**: `3`
 ||
|| `file_storage` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NFileStorage::TFileStorageConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NFileStorage_TFileStorageConfig)`>`
Опциональный постоянный локальный кеш исходных данных файловых ресурсов. Он обязателен для воркера, загружающего файловый ресурс. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_NWorker_TWorkerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TAtMostOnceStrategyDynamicParameters.md -->
## NYT::NFlow::TAtMostOnceStrategyDynamicParameters {#NYT_NFlow_TAtMostOnceStrategyDynamicParameters}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/connectors/common/async_at_most_once_sink_base.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/connectors/common/async_at_most_once_sink_base.h)

#|
|| **Параметр** | **Описание** ||
|| `suspend_destruction_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
 ||
|| `total_queue_bytes_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `100Mi`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TAtMostOnceStrategyDynamicParameters.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TAtMostOnceStrategyParameters.md -->
## NYT::NFlow::TAtMostOnceStrategyParameters {#NYT_NFlow_TAtMostOnceStrategyParameters}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/connectors/common/async_at_most_once_sink_base.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/connectors/common/async_at_most_once_sink_base.h)

#|
|| **Параметр** | **Описание** ||
|| `enabled` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TAtMostOnceStrategyParameters.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TAuthenticatorConfig.md -->
## NYT::NFlow::TAuthenticatorConfig {#NYT_NFlow_TAuthenticatorConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/authenticator.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/authenticator.h)

#|
|| **Параметр** | **Описание** ||
|| `require_proxy_signature` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TAuthenticatorConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TBacktraceEnricherDynamicSpec.md -->
## NYT::NFlow::TBacktraceEnricherDynamicSpec {#NYT_NFlow_TBacktraceEnricherDynamicSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/misc/error_backtrace_enricher.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/misc/error_backtrace_enricher.h)

#|
|| **Параметр** | **Описание** ||
|| `level` | **Тип**: `std::optional<`[NYT::NFlow::EBacktraceEnricherLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBacktraceEnricherLevel)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TBacktraceEnricherDynamicSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TBacktraceEnricherSpec.md -->
## NYT::NFlow::TBacktraceEnricherSpec {#NYT_NFlow_TBacktraceEnricherSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/misc/error_backtrace_enricher.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/misc/error_backtrace_enricher.h)

#|
|| **Параметр** | **Описание** ||
|| `level` | **Тип**: [NYT::NFlow::EBacktraceEnricherLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBacktraceEnricherLevel)
**Значение по умолчанию**: `disabled`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TBacktraceEnricherSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TComputationSpec.md -->
## NYT::NFlow::TComputationSpec {#NYT_NFlow_TComputationSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `computation_class_name` | **Тип**: `std::string`
**Обязательный параметр**
Имя встроенного класса Computation или адаптера process function.

Для новой пользовательской логики на C++ выберите один из встроенных адаптеров `TProcessFunction*Computation`. Саму функцию зарегистрируйте через `YT_FLOW_DEFINE_PROCESS_FUNCTION` и укажите в `processing_function`. Пользовательские классы Computation создавать не следует. ||
|| `processing_function` | **Тип**: `std::optional<std::string>`
Полное имя process function, зарегистрированной через `YT_FLOW_DEFINE_PROCESS_FUNCTION`. Обязательно для адаптеров `TProcessFunction*Computation`. ||
|| `processing_function_parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
Статические параметры process function. Тип параметров задаётся при регистрации `YT_FLOW_DEFINE_PROCESS_FUNCTION`. ||
|| `group_by_schema` | **Тип**: `NYT::TIntrusivePtr<NYT::NTableClient::TTableSchema>`
**Значение по умолчанию**: `{'value': [], 'attributes': {'strict': true, 'unique_keys': false}}`
Схема для группировки всех входных потоков, является схемой динтаблицы. Свойства и требования к схеме:

* Не содержит никаких правил на порядок.
* Может содержать вычислимые поля.
* Должна быть пустой только у `SourceComputation`.
* Для остальных `Computation` первая колонка должна иметь тип `uint64`. Рекомендуется, чтобы эта колонка была вычислимым хешем от остальных колонок (например, `farm_hash`). Нужно иметь ввиду, что использование операции взятия остатка при целочисленном делении `%` и `bigb_hash` в `expression` запрещено. ||
|| `experimental_enable_non_uint_key` | **Тип**: `std::optional<bool>`
 ||
|| `input_stream_ids` | **Тип**: `THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>`
**Значение по умолчанию**: `[]`
Входные потоки.

Схемы всех потоков должны быть приводимы к `group_by_schema`. ||
|| `output_stream_ids` | **Тип**: `THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>`
**Значение по умолчанию**: `[]`
Выходные потоки Computation'а. В частности, могут использоваться как входы у других Computation'ов. ||
|| `streams_dependency` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>>`
**Значение по умолчанию**: `{}`
Описание зависимостей между потоками, включая внутренние `source` и `timer` потоки.

Пример: `{stream1, {stream2, stream3}}` &mdash; `stream1` зависит от потоков `stream2` и `stream3`.

Указывается только для `timer`- и `output`-потоков. В случае отсутствия описания для потока список зависимостей будет сгенерирован автоматически:

* у `timer`-потоков в списке будут все `input`- и `source`-потоки;
* у `output`-потоков &mdash; все `timer`, `input` и `source`. ||
|| `watermark_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TWatermarkStrategySpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TWatermarkStrategySpec)`>`
**Значение по умолчанию**: `{}`
Настройки, связанные с `EventWatermark`.

Необязательный параметр. Должен быть указан в рамках `SourceComputation`. ||
|| `required_resource_ids` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TResourceDescription](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TResourceDescription)`>>`
**Значение по умолчанию**: `{}`
Список необходимых ресурсов для работы `Computation`.

Имеет параметр `alias` для локального переименования ресурса (например, `Computation` ожидает ресурс с именем `YTClient`, а подаваемый ресурс имеет другое имя). Через параметры `controller` и `worker` можно управлять созданием ресурса на `Controller` и на `Worker`. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные параметры для `Computation` и `ComputationController` ||
|| `timer_streams` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TTimerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TTimerSpec)`>>`
**Значение по умолчанию**: `{}`
Настройки всех `timer` потоков. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `key_visitor_streams` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TKeyVisitorStreamSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TKeyVisitorStreamSpec)`>>`
**Значение по умолчанию**: `{}`
Настройки всех `key_visitor` потоков. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `source_streams` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TSourceSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TSourceSpec)`>>`
**Значение по умолчанию**: `{}`
Настройки всех `source` потоков. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `sinks` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TSinkIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TSinkSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TSinkSpec)`>>`
**Значение по умолчанию**: `{}`
Настройки всех `sink`. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `external_state_managers` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TExternalStateManagerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TExternalStateManagerSpec)`>>`
**Значение по умолчанию**: `{}`
Декларативное объявление [external state](https://ytsaurus.tech/docs/ru/flow/cpp/state.md#external-state) менеджеров для этого `Computation`. Ключ — имя клиента, которое process function передаёт в `InitExternalStateClient` (должен начинаться с `/`, например `/state`); значение содержит имя класса менеджера и его параметры. ||
|| `external_state_joiners` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TExternalStateJoinerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TExternalStateJoinerSpec)`>>`
**Значение по умолчанию**: `{}`
Декларативное объявление [external state](https://ytsaurus.tech/docs/ru/flow/cpp/state.md#external-state-joiner) joiner'ов (read-only-доступ к внешним стейтам через join по ключу) для этого `Computation`. Ключ — имя клиента, которое process function передаёт в `InitExternalStateClient` (должен начинаться с `/`, например `/state`); значение содержит имя класса joiner'а и его параметры. ||
|| `state_joiners` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TStateJoinerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TStateJoinerSpec)`>>`
**Значение по умолчанию**: `{}`
Декларативное объявление [state](https://ytsaurus.tech/docs/ru/flow/cpp/state.md#state-joiner) joiner'ов (read-only-доступ к внутреннему стейту другого `Computation` через join по ключу) для этого `Computation`. Ключ — имя клиента, которое process function передаёт в `InitClient` (должен начинаться с `/`); значение указывает целевой `computation_id`, его `state_name` и `join_on`. ||
|| `heavy_hitters` | **Тип**: [NYT::NFlow::THeavyHittersSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_THeavyHittersSpec)
**Значение по умолчанию**: `{}`
Настройки обнаружения высокочастотных ключей. ||
|| `pivot_finder` | **Тип**: [NYT::NFlow::TPivotFinderSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TPivotFinderSpec)
**Значение по умолчанию**: `{}`
 ||
|| `input_ordering` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TInputOrderingSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TInputOrderingSpec)`>`
**Значение по умолчанию**: `{}`
Настройки порядка обработки входных потоков. ||
|| `distribution_ordering` | **Тип**: [NYT::NFlow::EDistributionOrdering](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EDistributionOrdering)
**Значение по умолчанию**: `strict`
Настройки порядка распределения выходных сообщений. Управляет тем, может ли быть гонка между останавливающимися и работающими партициями с точки зрения порядка распределения выходных сообщений порожденных из входящих сообщений с одним и тем же ключом. ||
|| `worker_group` | **Тип**: `NYT::TStrongTypedef<std::string, NYT::NFlow::TWorkerGroupIdTag, NYT::TStrongTypedefOptions{true}>`
**Значение по умолчанию**: `TString("")`
 ||
|| `allow_timer_self_dependency` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `use_compact_input_messages` | **Тип**: `std::optional<bool>`
Использовать компактную таблицу `compact_input_messages` для [дедупликации входных сообщений](https://ytsaurus.tech/docs/ru/flow/concepts/guarantees.md) вместо `input_messages`. Компактный ключ дедупликации хранит только хеш `key[0]` и `CityHash128(message_id)`, что снижает размер строки (~200 байт → ~71 байт).

Необязательный параметр. Если значение не задано, таблица выбирается автоматически: компактная используется всегда, кроме случая, когда включён `experimental_enable_non_uint_key` (тогда первая колонка ключа может быть не `uint64`, и для дедупликации нужен полный ключ). Явно заданное значение имеет приоритет над автоматическим выбором. Включать `use_compact_input_messages` вместе с `experimental_enable_non_uint_key` запрещено. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TComputationSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDeleteStatesArg.md -->
## NYT::NFlow::TDeleteStatesArg {#NYT_NFlow_TDeleteStatesArg}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Аргумент команды `delete-states`.

Поддерживаются те же три режима, что и в [TReadStatesArg](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TReadStatesArg).

По умолчанию dry-run: запрос возвращает счётчики совпавших строк, ничего не удаляя. Для реального удаления необходимо передать `commit=true`.

Команда требует, чтобы пайплайн был в состоянии `Stopped`/`Completed`, либо `force=true` при `Paused`. Удаляются только key/partition/manager-стейты; joiner-стейты не трогаются.

#|
|| **Параметр** | **Описание** ||
|| `computation_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>>`
Идентификатор Computation'а. Обязателен для режимов 1 и 2 (см. описание самой команды). ||
|| `partition_id` | **Тип**: `std::optional<NYT::TStrongTypedef<NYT::TGuid, NYT::NFlow::TPartitionIdTag, NYT::TStrongTypedefOptions{true}>>`
Идентификатор партиции. Обязателен для режима 3 (см. описание самой команды). ||
|| `key` | **Тип**: `std::optional<NYT::NYson::TYsonString>`
Ключ для точечного lookup'а (режим 2). Принимается в двух формах:

* **YSON-словарь** `{column = value; ...}` &mdash; для каждой целевой таблицы (`key_states` Computation'а и каждой таблицы external_state_manager'а/joiner'а с собственной `key_schema_override`) словарь раскладывается по её ключевой схеме; колонки, отсутствующие в схеме, игнорируются.
* **YSON-список** позиционных значений &mdash; передаётся в таблицы как есть, без адаптации под их схему. ||
|| `name` | **Тип**: `std::optional<std::string>`
Фильтр по точному имени стейта; применяется ко всем секциям (key/partition/external). Если задан, в каждой секции возвращаются только строки с этим именем стейта. ||
|| `target` | **Тип**: [NYT::NFlow::EFlowStateTarget](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EFlowStateTarget)
**Значение по умолчанию**: `all`
Какие категории стейтов запрашивать. По умолчанию `all`. ||
|| `force` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Разрешает удаление на пайплайне в состоянии `Paused`. Без `force` команда требует `Stopped`/`Completed`. ||
|| `commit` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Если `true`, найденные строки действительно удаляются. Иначе запрос работает в dry-run-режиме и только подсчитывает их. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDeleteStatesArg.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDeleteStatesResponse.md -->
## NYT::NFlow::TDeleteStatesResponse {#NYT_NFlow_TDeleteStatesResponse}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Ответ команды `delete-states`.

#|
|| **Параметр** | **Описание** ||
|| `committed` | **Тип**: `bool`
**Обязательный параметр**
Отражает значение `commit` из аргумента запроса. Если в `errors` есть записи, часть совпавших строк могла не удалиться &mdash; точные счётчики не предоставляются, на практике стейт необходимо перечитать через `read-states`. ||
|| `matched_states` | **Тип**: [NYT::NFlow::TMatchedStates](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TMatchedStates)
**Обязательный параметр**
Счётчики совпавших строк по категориям. Заполняется всегда: и в dry-run-режиме (показывает, что было бы удалено), и при `commit=true` (показывает, что было удалено или попало под попытку удаления). См. [TMatchedStates](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TMatchedStates). ||
|| `errors` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Ошибки, возникшие при формировании ответа на сам запрос (например, упал `Sync` манагера). Не относятся к ошибкам в работе пайплайна со стейтом. Если такая ошибка случилась для одного из external-стейтов, остальные категории всё равно могут быть обработаны успешно. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDeleteStatesResponse.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDirectControllerCommandsConfig.md -->
## NYT::NFlow::TDirectControllerCommandsConfig {#NYT_NFlow_TDirectControllerCommandsConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/pipeline_helpers/flow_execute/flow_execute.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/pipeline_helpers/flow_execute/flow_execute.h)

#|
|| **Параметр** | **Описание** ||
|| `enabled` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `rpc_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDirectControllerCommandsConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicBufferStateManagerSpec.md -->
## NYT::NFlow::TDynamicBufferStateManagerSpec {#NYT_NFlow_TDynamicBufferStateManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `manage_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Частота пересчёта размера буфферов. ||
|| `demand_window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Временное окно, на котором оценивается утилизация одного буффера. ||
|| `input_buffer` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicBufferStateManagerSpec::TOneSideBufferSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicBufferStateManagerSpec_TOneSideBufferSpec)`>`
**Значение по умолчанию**: `{}`
Настройки входного буффера. ||
|| `output_buffer` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicBufferStateManagerSpec::TOneSideBufferSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicBufferStateManagerSpec_TOneSideBufferSpec)`>`
**Значение по умолчанию**: `{}`
Настройки выходного буффера. ||
|| `enable_v2` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Включает v2-стратегию сайзинга буфферов: лимит = пик используемого + headroom, с полом `v2_gain_epochs × demand × epoch` (bandwidth-delay product). Потолок `demand × max_duration` поднимается до анонсированного input-backlog'а или, для производящего output, до равной доли половины `fair_share_pool`, поскольку эпохи продюсера не показывают период подтверждений downstream. Лимиты, подтверждённые спросом, распределяются раньше спекулятивных output-probe. Суммарно Σ(лимитов) ≤ `fair_share_pool` с учётом чужого in-flight; `job_limit` остаётся границей одного стрима. Стримы с `job_overrides` живут целиком вне пула (как в v1): память воркера под буфферы стоит закладывать как `fair_share_pool` + сумма фактического in-flight оверрайднутых стримов. По умолчанию включено; установите `false`, чтобы использовать прежнюю v1-формулу. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `epoch_cycle_window_samples` | **Тип**: `int`
**Значение по умолчанию**: `16`
Число сэмплов в окне медианы длительности эпохи джобы. ||
|| `max_rate_estimator_buckets` | **Тип**: `int`
**Значение по умолчанию**: `8`
Число бакетов в windowed-max оценщике скорости дрейна; изменение сбрасывает накопленную оценку. ||
|| `warmup_refresh_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
Как часто джоба опрашивает сошедшийся warmup для персиста. ||
|| `v2_gain_epochs` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
Целевой пол буфера в единицах эпох: сколько эпох спроса держать как минимум (запас на всплески скорости и latency). Действует только при `enable_v2`. ||
|| `v2_use_offered_rate` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Учитывать ли в оценке спроса скорость по анонсированному backlog'у (offered rate). Можно выключить, если продюсер завышает анонсированный backlog. Действует только при `enable_v2`. ||
|| `v2_floor` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `2Mi`
Минимальный грант стриму с непустым backlog'ом; должен вмещать самое большое сообщение. Действует только при `enable_v2`. ||
|| `v2_headroom_growth_factor` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
Во сколько раз растёт headroom за один тик менеджера, пока утилизация высокая. Действует только при `enable_v2`. ||
|| `v2_high_utilization_threshold` | **Тип**: `double`
**Значение по умолчанию**: `0.65`
Порог утилизации, выше которого headroom растёт, а ниже половины — затухает. Действует только при `enable_v2`. ||
|| `v2_publish_threshold` | **Тип**: `double`
**Значение по умолчанию**: `0.25`
Не публиковать новый лимит, если он отличается от текущего меньше чем на эту долю (антиосцилляция); сжатия публикуются всегда. Действует только при `enable_v2`. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicBufferStateManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicBufferStateManagerSpec_TOneSideBufferSpec.md -->
## NYT::NFlow::TDynamicBufferStateManagerSpec::TOneSideBufferSpec {#NYT_NFlow_TDynamicBufferStateManagerSpec_TOneSideBufferSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `fair_share_pool` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `3Gi`
Размер пула для распределения по FairShare алгоритму на основании утилизации. ||
|| `worker_group_fair_share_pool_overrides` | **Тип**: `THashMap<NYT::TStrongTypedef<std::string, NYT::NFlow::TWorkerGroupIdTag, NYT::TStrongTypedefOptions{true}>, `[NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)`>`
**Значение по умолчанию**: `{}`
Замена `fair_share_pool` для воркеров перечисленных [воркер-групп](https://ytsaurus.tech/docs/ru/flow/concepts/worker_groups.md) — для инсталляций, где часть воркеров имеет существенно больше памяти. Воркер, состоящий в нескольких перечисленных группах, берёт максимум: пул отражает фактически доступную память воркера. ||
|| `job_guarantee` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `5Mi`
Минимальный размер буффера для одной джобы. ||
|| `job_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `500Mi`
Максимальный размер буффера для одной джобы. ||
|| `max_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Считать, что не нужно держать буффер больше, чем необходимо для `max_duration` времени работы джобы (скорость оценивается эвристически). При `enable_v2` параметр также ограничивает сверху оценку длительности эпохи джобы. Производящий output может пробовать до своей равной доли половины `fair_share_pool`, поскольку эпохи продюсера не показывают период подтверждений downstream. `job_limit` и пул воркера остаются жёсткими границами. ||
|| `job_overrides` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>, THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, `[NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)`>>`
**Значение по умолчанию**: `{}`
Возможность переопределить вручную размер буффера для компьютейшен-стрима. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicBufferStateManagerSpec_TOneSideBufferSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicComputationSpec.md -->
## NYT::NFlow::TDynamicComputationSpec {#NYT_NFlow_TDynamicComputationSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `batch_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Время максимального набора входного батча. ||
|| `max_rows_per_batch` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `1K`
Максимальный размер входного батча в строках. Считается отдельно для `input_streams`, `timer_streams` и для каждого из `source_streams`. ||
|| `max_bytes_per_batch` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10Mi`
Максимальный размер входного батча в байтах. Считается аналогично `max_rows_per_batch`. ||
|| `max_keys_per_batch` | **Тип**: `std::optional<`[NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)`>`
 ||
|| `draining` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Режим `Draining` нужен для сброса пайплайна &mdash; в нём `Computation` перестанет запускать таймеры и доставать новые события из `Source`.

Команда `stop-pipeline` останавливает весь пайплайн через полный сброс. В отдельных `Computation` режим можно выставлять для дебага. ||
|| `empty_batch_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `250ms`
В случае пустой эпохи `Computation` дополнительно «спит» указанное время. Не рекомендуется выставлять параметр меньше 100 мс. ||
|| `lease_check_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `retryable_request` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicRetryableRequestSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicRetryableRequestSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tracer` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicPartitionTracerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicPartitionTracerSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные динамические параметры класса `Computation`. ||
|| `processing_function_parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
Динамические параметры process function. Тип параметров задаётся при регистрации `YT_FLOW_DEFINE_PROCESS_FUNCTION`. ||
|| `source_streams` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicSourceSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicSourceSpec)`>>`
**Значение по умолчанию**: `{}`
Динамические параметры всех `Sources`. ||
|| `key_visitor_streams` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicKeyVisitorStreamSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicKeyVisitorStreamSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `sinks` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TSinkIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicSinkSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicSinkSpec)`>>`
**Значение по умолчанию**: `{}`
Динамические параметры всех `Sinks`. ||
|| `external_state_managers` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicExternalStateManagerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicExternalStateManagerSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `external_state_joiners` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicExternalStateJoinerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicExternalStateJoinerSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `state_joiners` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicStateJoinerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicStateJoinerSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `state_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicStateManagerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicStateManagerSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `input_store` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicInputStoreSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicInputStoreSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `timer_store` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicTimerStoreSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicTimerStoreSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `output_store` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicOutputStoreSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicOutputStoreSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `timer_store_count_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `250K`
 ||
|| `timer_store_byte_size_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `100Mi`
 ||
|| `output_store_count_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `1G`
 ||
|| `output_store_byte_size_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `100Gi`
 ||
|| `blocked_time_window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
Окно усреднения для доли времени, которую джоба провела заблокированной на каждом из лимитов (`blocked_share` в диагностиках). Доля нормируется на время жизни джобы, поэтому джоба, заблокированная с самого старта, показывает `~1` независимо от своего возраста. ||
|| `input_rows_throttler_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TThrottlerIdTag>>`
Id троттлера для ограничения скорости обработки сообщений. Если задан, перед каждой итерацией `Computation` ждёт квоту, равную числу сообщений во входном батче. Id должен присутствовать в `dynamic_spec/throttlers`. Подробнее в разделе [Distributed Throttler](https://ytsaurus.tech/docs/ru/flow/concepts/distributed_throttler.md). ||
|| `input_bytes_throttler_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TThrottlerIdTag>>`
Аналогично `input_rows_throttler_id`, но квотируется суммарный `byte_size` сообщений батча &mdash; системный размер их сериализованного представления. ||
|| `input_rows_throttler_class_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TQuotaClassIdTag>>`
Класс квоты для троттлера из `input_rows_throttler_id`. Класс должен быть объявлен в этом троттлере; `default` выбирает зарезервированный класс с весом `1.0`. Требует заданного `input_rows_throttler_id`. ||
|| `input_bytes_throttler_class_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TQuotaClassIdTag>>`
Класс квоты для троттлера из `input_bytes_throttler_id`. Класс должен быть объявлен в этом троттлере; `default` выбирает зарезервированный класс с весом `1.0`. Требует заданного `input_bytes_throttler_id`. ||
|| `skip_if_expression` | **Тип**: `std::optional<std::string>`
YTQL-предикат, по которому входные сообщения отфильтровываются (пропускаются) ещё до обработки `Computation`. Сообщение пропускается (дропается), если предикат вычисляется в булево `true`.

Предикат вычисляется над колонками `payload` сообщения плюс мета-колонками `$message_id`, `$stream_id`, `$system_timestamp`, `$event_timestamp`, `$alignment_timestamp`. Результат обязан быть булевым: `NULL` или небулевой результат приводит к исключению.

Применяется как к `input`-, так и к `source`-потокам. Число пропущенных сообщений экспортируется метриками `input_streams/skipped_by_expression_count` и `source_streams/skipped_by_expression_count`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicComputationSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicControllerConnectorSpec.md -->
## NYT::NFlow::TDynamicControllerConnectorSpec {#NYT_NFlow_TDynamicControllerConnectorSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `controller_wait_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Время, через которое воркер принудительно отключит все джобы в случае потери связи с контроллером. ||
|| `controller_discover_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Период повторного поиска контроллера. ||
|| `controller_heartbeat_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Период хартбитов воркера в контроллер. ||
|| `worker_statistics_report_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `controller_heartbeat_rpc_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Таймаут хартбита. ||
|| `controller_heartbeat_failure_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Время выдержки на случай ошибки рукопожатия. ||
|| `controller_handshake_rpc_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Таймаут рукопожатия. ||
|| `controller_handshake_failure_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `orchid_update_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Период обновления `orchid` на контроллере. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicControllerConnectorSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicExpiringJobNamedStateCacheSpec.md -->
## NYT::NFlow::TDynamicExpiringJobNamedStateCacheSpec {#NYT_NFlow_TDynamicExpiringJobNamedStateCacheSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/state_cache.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/state_cache.h)

#|
|| **Параметр** | **Описание** ||
|| `ttl` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `0`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicExpiringJobNamedStateCacheSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicExternalStateJoinerSpec.md -->
## NYT::NFlow::TDynamicExternalStateJoinerSpec {#NYT_NFlow_TDynamicExternalStateJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
Динамические параметры конкретной реализации joiner'а. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicExternalStateJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicExternalStateManagerSpec.md -->
## NYT::NFlow::TDynamicExternalStateManagerSpec {#NYT_NFlow_TDynamicExternalStateManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
Динамические параметры конкретной реализации менеджера. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicExternalStateManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicFileProviderSpec.md -->
## NYT::NFlow::TDynamicFileProviderSpec {#NYT_NFlow_TDynamicFileProviderSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/file_provider.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/file_provider.h)

#|
|| **Параметр** | **Описание** ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Динамические параметры зарегистрированной реализации файлового провайдера. Они выбирают будущие ревизии при discovery, но не меняют уже доставленную точную ревизию. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicFileProviderSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicInputStoreSpec.md -->
## NYT::NFlow::TDynamicInputStoreSpec {#NYT_NFlow_TDynamicInputStoreSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

**В структуре нет основных параметров.**
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicInputStoreSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicJobManagerGroupSpec.md -->
## NYT::NFlow::TDynamicJobManagerGroupSpec {#NYT_NFlow_TDynamicJobManagerGroupSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `balancer_type` | **Тип**: [NYT::NFlow::EJobBalancerType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EJobBalancerType)
**Значение по умолчанию**: `cpu_aware`
 ||
|| `use_cpu_aware_balancer` | **Тип**: `std::optional<bool>`
Включает экспериментальную балансировку CPU. Балансировка по умолчанию может приводить к сильному перекосу ресурсов CPU между воркерами. ||
|| `rebalance_delay_after_pipeline_sync` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `rebalance_target_deviation` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
Максимальное допустимое отклонение. ||
|| `rebalance_hot_mode_coeff` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
 ||
|| `rebalance_action_min_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `4s`
 ||
|| `rebalance_action_max_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `12s`
 ||
|| `rebalance_sync_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Период `cpu_aware` балансировки. Не рекомендуется выставлять значение меньше `15min`, так как балансировка смотрит на метрики `10min`. ||
|| `rebalance_count_exceeded_allowed` | **Тип**: `double`
**Значение по умолчанию**: `1.2`
 ||
|| `rebalance_even_load_thresholds` | **Тип**: `THashMap<`[NYT::NFlow::EBalanceResource](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBalanceResource)`, NYT::TIntrusivePtr<`[NYT::NFlow::TEvenLoadThresholds](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TEvenLoadThresholds)`>>`
**Значение по умолчанию**: `{}`
Пороги гейта «нагрузка распределена ровно» по ресурсам, например `{cpu = {spread = 2.0; ratio = 1.5}}`. Учитываются только ресурсы с ненулевым весом. Незаданные поля берут значения по умолчанию: разброс `1.0` ядро для CPU и `1 GB` для памяти, отношение `1.2`. ||
|| `rebalance_min_cpu_spread` | **Тип**: `std::optional<double>`
Устаревший параметр: то же, что `spread` в записи `cpu` параметра `rebalance_even_load_thresholds`. Явно заданное значение в `rebalance_even_load_thresholds` имеет приоритет. ||
|| `rebalance_min_cpu_ratio` | **Тип**: `std::optional<double>`
Устаревший параметр: то же, что `ratio` в записи `cpu` параметра `rebalance_even_load_thresholds`. Явно заданное значение в `rebalance_even_load_thresholds` имеет приоритет. ||
|| `balance_weights` | **Тип**: `THashMap<`[NYT::NFlow::EBalanceResource](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBalanceResource)`, double>`
**Значение по умолчанию**: `{'cpu': 1.0, 'memory': 0.0}`
Относительная важность ресурсов для `cpu_aware` балансировки, например `{cpu = 80; memory = 20}`. Указанные ключи накладываются на значение по умолчанию `{cpu = 1; memory = 0}`; веса нормируются, значимы только пропорции. Ресурс с нулевым весом не участвует в балансировке, поэтому по умолчанию балансируется только CPU. Порог `rebalance_target_deviation` применяется к нормированной взвешенной сумме: добавление второго ресурса пропорционально уменьшает вклад первого. ||
|| `balancer_metrics_source` | **Тип**: [NYT::NFlow::EBalancerMetricsSource](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBalancerMetricsSource)
**Значение по умолчанию**: `job`
Откуда `cpu_aware` балансировщик берёт загрузку CPU партиции. `partition` — 10-минутная метрика текущей джобы, а пока её нет — сохранённая история партиции (замер предыдущей джобы, переживает переезд и рестарт); 30-секундные и мгновенные метрики не используются. `job` — прежнее поведение: только метрики текущей джобы с откатом на 30-секундную и мгновенную. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|| `balance_warmup_protection` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Не переезжать работающие джобы, пока их метрики не созрели: есть 10-минутная метрика и прошло ещё одно 10-минутное окно после её появления. Такая джоба ещё расплачивается за предыдущий переезд, а её вес неизвестен. Защита действует для всех ресурсов балансировки: конфигурация только по памяти тоже ждёт созревания CPU-метрики. Перегруженный по количеству воркер, у которого подходящая для кика партиция не созрела, в этом раунде пропускается целиком. Джобы моложе двух минут остаются подвижными: они ещё ничего не вложили, а на рестарте пайплайна воркеры регистрируются не одновременно. Партиции без джобы размещаются как обычно. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|| `balance_warmup_idle_worker_share` | **Тип**: `double`
**Значение по умолчанию**: `0.2`
Доля воркеров группы без джоб этой группы, начиная с которой warm-up protection снимается: заполнить простаивающие воркеры важнее, чем метрики переезжающих джоб, например когда после рестарта пайплайна воркеры регистрируются с разницей в минуты. Временный переключатель для отката. ||
|| `worker_coef_mode` | **Тип**: [NYT::NFlow::EWorkerCoefMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EWorkerCoefMode)
**Значение по умолчанию**: `legacy`
Как `cpu_aware` балансировщик оценивает относительную скорость воркеров. `probing` — по партициям, переехавшим между воркерами: сравнивается CPU на сообщение до и после переезда, наблюдения по парам воркеров накапливаются в `balancer_state` и решаются совместно; без переездов все коэффициенты равны 1. `legacy` — прежняя оценка по текущей загрузке партиций каждого воркера относительно средних по компьютейшнам. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|| `worker_coef_half_life` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
Период полураспада накопленного наблюдения пары воркеров: при слиянии нового наблюдения старое теряет вес пропорционально прошедшему времени. Без новых наблюдений оценка не меняется. ||
|| `worker_coef_retention` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `7d`
Сколько помнить наблюдения воркера, отсутствующего в группе; вернувшийся раньше воркер получает свой коэффициент обратно. ||
|| `worker_coef_prior_weight` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Вес априорного «коэффициент воркера равен 1» в единицах веса наблюдений (переезд одной партиции весит `1 / N`, где `N` — число партиций на воркере-приёмнике). Фиксирует среднее коэффициентов группы на 1 и гасит одиночные наблюдения. ||
|| `worker_coef_max_ratio` | **Тип**: `double`
**Значение по умолчанию**: `4.0`
Предохранитель: коэффициенты воркеров ограничены отрезком `[1 / max_ratio, max_ratio]`. ||
|| `disable_even_load_gate` | **Тип**: `std::optional<bool>`
 ||
|| `async_balancing` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `graceful_move` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `zero_queue_latency` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `planning_horizon` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
 ||
|| `preloading_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30m`
Сколько балансер `resource_queue` держит предзагрузку модели, которая ещё грузится, считая от запроса. До этого предзагрузка не снимается, а воркер считается воркером вычислений, которым нужна модель; после — обычные правила. ||
|| `minimum_worker_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
Минимальное число воркеров, на которые стоит распределять нагрузку.

Должно быть обязательно заполнено, чтобы избежать ошибок Out of memory и перегрузки отдельных воркеров при старте системы. Рекомендуемое значение &mdash; около 60% от целевого количества воркеров (чтобы пережить потерю части воркеров, например при отключении одного дата-центра). ||
|| `lost_job_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Через какое время признавать `Job` потерянным, если в контроллер не приходит обновление статуса джоба. То же время используется, чтобы признавать потерянным воркера. ||
|| `faulty_address_window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Окно на котором считается экспоненциально затухающий счетчик числа потерь соединения контроллера с воркером. Если этот счетчик превышает `faulty_address_attempts`, то воркер считается `faulty` и он игнорируется при балансировке. Решает проблему воркеров, у которых постоянно теряется коннект с контроллером. В том числе проблему двух воркеров с разными incarnation id и одним address (когда в деплое оказывается два пода считающих, что у них один и тот же FQDN). ||
|| `faulty_address_attempts` | **Тип**: `unsigned long`
**Значение по умолчанию**: `5`
Смотрите описание параметра `faulty_address_window`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicJobManagerGroupSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicJobManagerSpec.md -->
## NYT::NFlow::TDynamicJobManagerSpec {#NYT_NFlow_TDynamicJobManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `balancer_type` | **Тип**: [NYT::NFlow::EJobBalancerType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EJobBalancerType)
**Значение по умолчанию**: `cpu_aware`
 ||
|| `use_cpu_aware_balancer` | **Тип**: `std::optional<bool>`
Включает экспериментальную балансировку CPU. Балансировка по умолчанию может приводить к сильному перекосу ресурсов CPU между воркерами. ||
|| `rebalance_delay_after_pipeline_sync` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `rebalance_target_deviation` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
Максимальное допустимое отклонение. ||
|| `rebalance_hot_mode_coeff` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
 ||
|| `rebalance_action_min_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `4s`
 ||
|| `rebalance_action_max_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `12s`
 ||
|| `rebalance_sync_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Период `cpu_aware` балансировки. Не рекомендуется выставлять значение меньше `15min`, так как балансировка смотрит на метрики `10min`. ||
|| `rebalance_count_exceeded_allowed` | **Тип**: `double`
**Значение по умолчанию**: `1.2`
 ||
|| `rebalance_even_load_thresholds` | **Тип**: `THashMap<`[NYT::NFlow::EBalanceResource](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBalanceResource)`, NYT::TIntrusivePtr<`[NYT::NFlow::TEvenLoadThresholds](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TEvenLoadThresholds)`>>`
**Значение по умолчанию**: `{}`
Пороги гейта «нагрузка распределена ровно» по ресурсам, например `{cpu = {spread = 2.0; ratio = 1.5}}`. Учитываются только ресурсы с ненулевым весом. Незаданные поля берут значения по умолчанию: разброс `1.0` ядро для CPU и `1 GB` для памяти, отношение `1.2`. ||
|| `rebalance_min_cpu_spread` | **Тип**: `std::optional<double>`
Устаревший параметр: то же, что `spread` в записи `cpu` параметра `rebalance_even_load_thresholds`. Явно заданное значение в `rebalance_even_load_thresholds` имеет приоритет. ||
|| `rebalance_min_cpu_ratio` | **Тип**: `std::optional<double>`
Устаревший параметр: то же, что `ratio` в записи `cpu` параметра `rebalance_even_load_thresholds`. Явно заданное значение в `rebalance_even_load_thresholds` имеет приоритет. ||
|| `balance_weights` | **Тип**: `THashMap<`[NYT::NFlow::EBalanceResource](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBalanceResource)`, double>`
**Значение по умолчанию**: `{'cpu': 1.0, 'memory': 0.0}`
Относительная важность ресурсов для `cpu_aware` балансировки, например `{cpu = 80; memory = 20}`. Указанные ключи накладываются на значение по умолчанию `{cpu = 1; memory = 0}`; веса нормируются, значимы только пропорции. Ресурс с нулевым весом не участвует в балансировке, поэтому по умолчанию балансируется только CPU. Порог `rebalance_target_deviation` применяется к нормированной взвешенной сумме: добавление второго ресурса пропорционально уменьшает вклад первого. ||
|| `balancer_metrics_source` | **Тип**: [NYT::NFlow::EBalancerMetricsSource](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EBalancerMetricsSource)
**Значение по умолчанию**: `job`
Откуда `cpu_aware` балансировщик берёт загрузку CPU партиции. `partition` — 10-минутная метрика текущей джобы, а пока её нет — сохранённая история партиции (замер предыдущей джобы, переживает переезд и рестарт); 30-секундные и мгновенные метрики не используются. `job` — прежнее поведение: только метрики текущей джобы с откатом на 30-секундную и мгновенную. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|| `balance_warmup_protection` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Не переезжать работающие джобы, пока их метрики не созрели: есть 10-минутная метрика и прошло ещё одно 10-минутное окно после её появления. Такая джоба ещё расплачивается за предыдущий переезд, а её вес неизвестен. Защита действует для всех ресурсов балансировки: конфигурация только по памяти тоже ждёт созревания CPU-метрики. Перегруженный по количеству воркер, у которого подходящая для кика партиция не созрела, в этом раунде пропускается целиком. Джобы моложе двух минут остаются подвижными: они ещё ничего не вложили, а на рестарте пайплайна воркеры регистрируются не одновременно. Партиции без джобы размещаются как обычно. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|| `balance_warmup_idle_worker_share` | **Тип**: `double`
**Значение по умолчанию**: `0.2`
Доля воркеров группы без джоб этой группы, начиная с которой warm-up protection снимается: заполнить простаивающие воркеры важнее, чем метрики переезжающих джоб, например когда после рестарта пайплайна воркеры регистрируются с разницей в минуты. Временный переключатель для отката. ||
|| `worker_coef_mode` | **Тип**: [NYT::NFlow::EWorkerCoefMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EWorkerCoefMode)
**Значение по умолчанию**: `legacy`
Как `cpu_aware` балансировщик оценивает относительную скорость воркеров. `probing` — по партициям, переехавшим между воркерами: сравнивается CPU на сообщение до и после переезда, наблюдения по парам воркеров накапливаются в `balancer_state` и решаются совместно; без переездов все коэффициенты равны 1. `legacy` — прежняя оценка по текущей загрузке партиций каждого воркера относительно средних по компьютейшнам. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|| `worker_coef_half_life` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
Период полураспада накопленного наблюдения пары воркеров: при слиянии нового наблюдения старое теряет вес пропорционально прошедшему времени. Без новых наблюдений оценка не меняется. ||
|| `worker_coef_retention` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `7d`
Сколько помнить наблюдения воркера, отсутствующего в группе; вернувшийся раньше воркер получает свой коэффициент обратно. ||
|| `worker_coef_prior_weight` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Вес априорного «коэффициент воркера равен 1» в единицах веса наблюдений (переезд одной партиции весит `1 / N`, где `N` — число партиций на воркере-приёмнике). Фиксирует среднее коэффициентов группы на 1 и гасит одиночные наблюдения. ||
|| `worker_coef_max_ratio` | **Тип**: `double`
**Значение по умолчанию**: `4.0`
Предохранитель: коэффициенты воркеров ограничены отрезком `[1 / max_ratio, max_ratio]`. ||
|| `disable_even_load_gate` | **Тип**: `std::optional<bool>`
 ||
|| `async_balancing` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `graceful_move` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `zero_queue_latency` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `planning_horizon` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
 ||
|| `preloading_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30m`
Сколько балансер `resource_queue` держит предзагрузку модели, которая ещё грузится, считая от запроса. До этого предзагрузка не снимается, а воркер считается воркером вычислений, которым нужна модель; после — обычные правила. ||
|| `minimum_worker_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
Минимальное число воркеров, на которые стоит распределять нагрузку.

Должно быть обязательно заполнено, чтобы избежать ошибок Out of memory и перегрузки отдельных воркеров при старте системы. Рекомендуемое значение &mdash; около 60% от целевого количества воркеров (чтобы пережить потерю части воркеров, например при отключении одного дата-центра). ||
|| `lost_job_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Через какое время признавать `Job` потерянным, если в контроллер не приходит обновление статуса джоба. То же время используется, чтобы признавать потерянным воркера. ||
|| `faulty_address_window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Окно на котором считается экспоненциально затухающий счетчик числа потерь соединения контроллера с воркером. Если этот счетчик превышает `faulty_address_attempts`, то воркер считается `faulty` и он игнорируется при балансировке. Решает проблему воркеров, у которых постоянно теряется коннект с контроллером. В том числе проблему двух воркеров с разными incarnation id и одним address (когда в деплое оказывается два пода считающих, что у них один и тот же FQDN). ||
|| `faulty_address_attempts` | **Тип**: `unsigned long`
**Значение по умолчанию**: `5`
Смотрите описание параметра `faulty_address_window`. ||
|| `worker_group_override` | **Тип**: `THashMap<NYT::TStrongTypedef<std::string, NYT::NFlow::TWorkerGroupIdTag, NYT::TStrongTypedefOptions{true}>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicJobManagerGroupSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicJobManagerGroupSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `partition_history_limit` | **Тип**: `long`
**Значение по умолчанию**: `4096`
Сколько историй партиций балансер хранит между перезапусками джоб, см. `balancer_metrics_source`. Истории лежат в одном персистентном документе с ограничением на размер, поэтому при достижении предела самая лёгкая история уступает место более тяжёлой, а более лёгкие не сохраняются. При остановке пайплайна истории не сохраняются вовсе. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicJobManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicJobTrackerSpec.md -->
## NYT::NFlow::TDynamicJobTrackerSpec {#NYT_NFlow_TDynamicJobTrackerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `job_control_threads` | **Тип**: `int`
**Значение по умолчанию**: `3`
Количество управляющих тредов.

В большинстве случаев достаточно значения по умолчанию. ||
|| `job_threads` | **Тип**: `std::optional<int>`
Количество тредов для выполнения джобов.

Если не задано, размер пула вычисляется автоматически на основе CPU-лимита ноды.
Если при этом вычислить лимит ноды не получилось, то будет создано 30 тредов. ||
|| `buffer_state_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicBufferStateManagerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicBufferStateManagerSpec)`>`
**Значение по умолчанию**: `{}`
Конфиг модуля управления буферами для входящих и исходящих сообщений. ||
|| `load_throughput_throttler` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TLoadThroughputThrottlerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TLoadThroughputThrottlerSpec)`>`
**Значение по умолчанию**: `{'limit': 134217728.0}`
 ||
|| `state_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicStateCacheSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicStateCacheSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `mark_performance_metrics_steady_after_first_iteration` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Сообщать счётчики скоростей джобы (CPU, входные сообщения, память) как установившиеся только после первой завершённой итерации с входными данными, чтобы балансировщик читал оконные метрики `cpu_usage_10m` и подобные после того, как инициализация джобы (выкачка стейта, построение индексов) вымоется из окон; сами счётчики не сбрасываются. Джоба, не получавшая входных данных минуту, тоже считается установившейся: простаивающая джоба сообщает свои околонулевые скорости, а не остаётся неизмеренной. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicJobTrackerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicKeyVisitorStreamSpec.md -->
## NYT::NFlow::TDynamicKeyVisitorStreamSpec {#NYT_NFlow_TDynamicKeyVisitorStreamSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|| `buffer_row_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `5K`
 ||
|| `max_scan_rows_per_iteration` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10K`
 ||
|| `background_fill_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `500ms`
 ||
|| `catchup_lag_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `catchup_speedup_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.2`
 ||
|| `finite` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Конечен ли визитор: при `%true` он завершается вслед за стримами, за которыми следит (см. `upstream_streams` в статической спеке), при `%false` — не завершается никогда. ||
|| `full_final_pass` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicKeyVisitorStreamSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicMessageDistributorSpec.md -->
## NYT::NFlow::TDynamicMessageDistributorSpec {#NYT_NFlow_TDynamicMessageDistributorSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `send_queue_max_rows_per_batch` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10K`
 ||
|| `send_queue_max_bytes_per_batch` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10Mi`
 ||
|| `send_queue_batch_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `push_messages_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
 ||
|| `compression_codec` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
**Значение по умолчанию**: `lz4`
 ||
|| `thread_count` | **Тип**: `int`
**Значение по умолчанию**: `4`
 ||
|| `hung_task_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `max_processed_batch_size` | **Тип**: `long`
**Значение по умолчанию**: `500000`
Максимальное число завершённых сообщений, о которых воркер сообщает в одном ответе `PushMessages`. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicMessageDistributorSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicOutputStoreSpec.md -->
## NYT::NFlow::TDynamicOutputStoreSpec {#NYT_NFlow_TDynamicOutputStoreSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `table_request` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicTableRequestSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicTableRequestSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `compression_codec` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
**Значение по умолчанию**: `zstd_6`
 ||
|| `max_chunk_message_count` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `1Ki`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicOutputStoreSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicPartitionTracerSpec.md -->
## NYT::NFlow::TDynamicPartitionTracerSpec {#NYT_NFlow_TDynamicPartitionTracerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `epochs_in_trace_context` | **Тип**: `int`
**Значение по умолчанию**: `3`
 ||
|| `trace_probability` | **Тип**: `double`
**Значение по умолчанию**: `0.0`
 ||
|| `trace_probability_partition_override` | **Тип**: `THashMap<NYT::TStrongTypedef<NYT::TGuid, NYT::NFlow::TPartitionIdTag, NYT::TStrongTypedefOptions{true}>, double>`
**Значение по умолчанию**: `{}`
 ||
|| `wall_time_half_decay_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicPartitionTracerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicPipelineSpec.md -->
## NYT::NFlow::TDynamicPipelineSpec {#NYT_NFlow_TDynamicPipelineSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `target_state` | **Тип**: [NYT::NFlow::EPipelineState](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EPipelineState)
**Значение по умолчанию**: `unknown`
Целевое состояние системы. Для изменения используйте команды `start-pipeline`, `stop-pipeline`, `pause-pipeline`. ||
|| `computations` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicComputationSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicComputationSpec)`>>`
**Значение по умолчанию**: `{}`
Именованное перечисление всех узлов пайплайна. ||
|| `resources` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicResourceSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicResourceSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `throttlers` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TThrottlerIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicThrottlerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicThrottlerSpec)`>>`
**Значение по умолчанию**: `{}`
Набор именованных распределённых троттлеров, общих для всех `Computation` пайплайна. Ключи являются id троттлеров и должны соответствовать `[0-9A-Za-z_-]+`. Подробнее в разделе [Distributed Throttler](https://ytsaurus.tech/docs/ru/flow/concepts/distributed_throttler.md). ||
|| `job_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicJobManagerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicJobManagerSpec)`>`
**Значение по умолчанию**: `{}`
Настройки `JobManager`. ||
|| `message_distributor` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicMessageDistributorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicMessageDistributorSpec)`>`
**Значение по умолчанию**: `{}`
Настройки `MessageDistributor`. ||
|| `job_tracker` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicJobTrackerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicJobTrackerSpec)`>`
**Значение по умолчанию**: `{}`
Настройки `JobTracker`. ||
|| `controller_connector` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicControllerConnectorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicControllerConnectorSpec)`>`
**Значение по умолчанию**: `{}`
Настройки `ControllerConnector`. ||
|| `singletons` | **Тип**: `NYT::TIntrusivePtr<`[NYT::TSingletonsDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_TSingletonsDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `enable_mermaid_graph_describe` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `flow_view_cache_codec` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
**Значение по умолчанию**: `zstd_2`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicPipelineSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicResourceSpec.md -->
## NYT::NFlow::TDynamicResourceSpec {#NYT_NFlow_TDynamicResourceSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Динамические параметры пользовательского класса ресурса. ||
|| `file_providers` | **Тип**: `THashMap<NYT::TStrongTypedef<std::string, NYT::NFlow::TFileProviderIdTag, NYT::TStrongTypedefOptions{true}>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicFileProviderSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicFileProviderSpec)`>>`
**Значение по умолчанию**: `{}`
Динамические параметры именованных файловых провайдеров ресурса. Изменение параметров немедленно запускает discovery соответствующего провайдера. ||
|| `file_provider_discover_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
Период discovery всех именованных файловых провайдеров ресурса. ||
|| `file_provider_update_retry_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Период повторной попытки скачивания, инициализации или проверки файлового snapshot. ||
|| `file_snapshot_min_creation_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Минимальный период между созданием новых полных файловых snapshot. Более частые обновления провайдеров накапливаются до следующего разрешённого snapshot. ||
|| `file_snapshot_catalog_max_entries` | **Тип**: `long`
**Значение по умолчанию**: `1024`
Максимальное число файловых snapshot в состоянии контроллера. Текущие Active и Preparing snapshot никогда не вытесняются. ||
|| `file_snapshot_rollout_warning_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15m`
Время после публикации Active файлового snapshot, через которое незавершённый rollout на worker-ах появляется в статусе ресурса. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicResourceSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicRetryableRequestSpec.md -->
## NYT::NFlow::TDynamicRetryableRequestSpec {#NYT_NFlow_TDynamicRetryableRequestSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `min_inner_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `backoff` | **Тип**: `NYT::TExponentialBackoffOptions`
**Значение по умолчанию**:

```yson
{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 2.;
    "invocation_count" = 30;
    "max_backoff" = 60000;
    "min_backoff" = 1000;
}
```
 ||
|| `lease_check_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicRetryableRequestSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicSimpleExternalStateJoinerSpec.md -->
## NYT::NFlow::TDynamicSimpleExternalStateJoinerSpec {#NYT_NFlow_TDynamicSimpleExternalStateJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/computation/simple_external_state_manager.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/computation/simple_external_state_manager.h)

#|
|| **Параметр** | **Описание** ||
|| `cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicExpiringJobNamedStateCacheSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicExpiringJobNamedStateCacheSpec)`>`
**Значение по умолчанию**: `{}`
Настройки TTL-кэша загруженных стейтов. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicSimpleExternalStateJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicSimpleExternalStateManagerSpec.md -->
## NYT::NFlow::TDynamicSimpleExternalStateManagerSpec {#NYT_NFlow_TDynamicSimpleExternalStateManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/computation/simple_external_state_manager.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/computation/simple_external_state_manager.h)

**В структуре нет основных параметров.**
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicSimpleExternalStateManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicSinkSpec.md -->
## NYT::NFlow::TDynamicSinkSpec {#NYT_NFlow_TDynamicSinkSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные динамические параметры соответствующего класса `Sink`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicSinkSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicSourceSpec.md -->
## NYT::NFlow::TDynamicSourceSpec {#NYT_NFlow_TDynamicSourceSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные динамические параметры соответствующего класса `Source`. ||
|| `draining` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicSourceSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicStateCacheSpec.md -->
## NYT::NFlow::TDynamicStateCacheSpec {#NYT_NFlow_TDynamicStateCacheSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `compressed_cache_weight` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `1Gi`
Ограничение на `compressed`. ||
|| `uncompressed_cache_weight` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `100Mi`
Ограничение на `uncompressed`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicStateCacheSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicStateFormatSpec.md -->
## NYT::NFlow::TDynamicStateFormatSpec {#NYT_NFlow_TDynamicStateFormatSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `compression` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
 ||
|| `patch_compression` | **Тип**: [NYT::NCompression::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCompression_ECodec)
 ||
|| `delta` | **Тип**: [NYT::NFlow::NDeltaCodecs::ECodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NDeltaCodecs_ECodec)
 ||
|| `compress` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `recode_probability` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicStateFormatSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicStateJoinerSpec.md -->
## NYT::NFlow::TDynamicStateJoinerSpec {#NYT_NFlow_TDynamicStateJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicExpiringJobNamedStateCacheSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicExpiringJobNamedStateCacheSpec)`>`
**Значение по умолчанию**: `{}`
Настройки TTL-кэша загруженных стейтов. По умолчанию выключен (`ttl = 0`). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicStateJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicStateManagerSpec.md -->
## NYT::NFlow::TDynamicStateManagerSpec {#NYT_NFlow_TDynamicStateManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `format` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicStateFormatSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicStateFormatSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `table_request` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicTableRequestSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicTableRequestSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `format_overrides` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicStateFormatSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicStateFormatSpec)`>>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicStateManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicStaticTableKeyVisitorJoinerSpec.md -->
## NYT::NFlow::TDynamicStaticTableKeyVisitorJoinerSpec {#NYT_NFlow_TDynamicStaticTableKeyVisitorJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/computation/static_table_key_visitor_joiner.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/computation/static_table_key_visitor_joiner.h)

#|
|| **Параметр** | **Описание** ||
|| `read_attempts` | **Тип**: `int`
**Значение по умолчанию**: `3`
Бюджет попыток одного чтения источника; чтение, исчерпавшее бюджет, считается неуспешным и обрабатывается согласно `unavailable_source_policy`. ||
|| `unavailable_source_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
На какое время неуспешное чтение помечает источник недоступным.
Пока пометка действует, обращений к источнику нет: каждое чтение немедленно резолвится согласно `unavailable_source_policy`;
первое чтение после истечения окна снова пробует источник. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicStaticTableKeyVisitorJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicTableRequestSpec.md -->
## NYT::NFlow::TDynamicTableRequestSpec {#NYT_NFlow_TDynamicTableRequestSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `select_min_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10`
 ||
|| `select_limit_multiplier` | **Тип**: `long`
**Значение по умолчанию**: `5`
 ||
|| `select_max_limit` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10K`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicTableRequestSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicThrottlerClassSpec.md -->
## NYT::NFlow::TDynamicThrottlerClassSpec {#NYT_NFlow_TDynamicThrottlerClassSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

Настройки одного класса распределённого троттлера.

#|
|| **Параметр** | **Описание** ||
|| `weight` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
Положительный конечный вес, определяющий долгосрочную долю полосы среди активных классов. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicThrottlerClassSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicThrottlerSpec.md -->
## NYT::NFlow::TDynamicThrottlerSpec {#NYT_NFlow_TDynamicThrottlerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

Конфигурация именованного распределённого троттлера.

#|
|| **Параметр** | **Описание** ||
|| `limit` | **Тип**: `std::optional<double>`
Средняя скорость выдачи квоты в единицах в секунду. `none` означает `unlimited`. ||
|| `period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Период усреднения средней скорости в алгоритме [token bucket](https://en.wikipedia.org/wiki/Token_bucket): за `period` бакет пополняется до объёма `limit * period` единиц. Этот же объём &mdash; максимально возможный burst. ||
|| `request_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
Целевой интервал между походами клиента на контроллер (размер prefetch подстраивается под него). ||
|| `retrying_channel` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TRetryingChannelConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TRetryingChannelConfig)`>`
**Значение по умолчанию**:

```yson
{
    "enable_exponential_retry_backoffs" = %true;
    "retry_attempts" = 100;
    "retry_timeout" = 600000;
}
```
Параметры ретраев запросов к сервису троттлера. Дефолт рассчитан на то, чтобы пережить смену контроллера-лидера даже если она затянется. ||
|| `rpc_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
Таймаут одного запроса `RequestQuota`. ||
|| `classes` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TQuotaClassIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicThrottlerClassSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicThrottlerClassSpec)`>>`
**Значение по умолчанию**: `{}`
Именованные взвешенные классы квоты. Ключи должны соответствовать `[0-9A-Za-z_-]+`. Активные классы делят полосу пропорционально весам, а свободная доля перераспределяется. ||
|| `max_grant_amount` | **Тип**: `std::optional<long>`
Максимальный размер одного серверного чанка в абсолютных единицах квоты. Ограничивает задержку пересмотра активных классов. Если не задан, запрос выдаётся целиком и удерживает token bucket всё своё prefetch-окно, задерживая остальные классы ровно на это время. ||
|| `use_class_weights_as_limit` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Трактует веса классов как абсолютные скорости: скорость выдачи становится суммой объявленных весов, поэтому забэкложенный класс обслуживается со скоростью своего веса в единицах в секунду. Требует хотя бы одного класса и несовместим с `limit`. Зарезервированный класс `default` в сумму не входит. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicThrottlerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicTimerStoreSpec.md -->
## NYT::NFlow::TDynamicTimerStoreSpec {#NYT_NFlow_TDynamicTimerStoreSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `table_request` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicTableRequestSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicTableRequestSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicTimerStoreSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TSwiftMapCompanionComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NCompanion::TSwiftMapCompanionComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TSwiftMapCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TSwiftMapCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TSwiftOrderedSourceCompanionComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NCompanion::TSwiftOrderedSourceCompanionComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TSwiftOrderedSourceCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|| `max_read_window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TSwiftOrderedSourceCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TTransformCompanionComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NCompanion::TTransformCompanionComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TTransformCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TTransformCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TTransformOrderedSourceCompanionComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NCompanion::TTransformOrderedSourceCompanionComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TTransformOrderedSourceCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NCompanion_TTransformOrderedSourceCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NSortedDynamicTable_TAsyncSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NSortedDynamicTable::TAsyncSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NSortedDynamicTable_TAsyncSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `max_rows_per_batch` | **Тип**: `long`
**Значение по умолчанию**: `1000`
Максимальное число сообщений Flow в батче: batching sink сбрасывает накопленный батч при достижении этого порога. Допустимый диапазон — от 1 до 2000. ||
|| `max_bytes_per_batch` | **Тип**: `long`
**Значение по умолчанию**: `5242880`
Максимальный суммарный размер сообщений Flow в батче: batching sink сбрасывает накопленный батч при достижении этого порога. Допустимый диапазон — от 1 байта до 10 MiB. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `backoff_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
Начальная пауза между повторными попытками до применения jitter. Интервалы используют экспоненциальный backoff с jitter; интервал до применения jitter ограничен одной минутой (либо этим значением, если оно больше). Sink продолжает попытки до успешной записи или отмены job и показывает последнюю ошибку в своём статусе. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NSortedDynamicTable_TAsyncSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NSortedDynamicTable_TSyncSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NSortedDynamicTable::TSyncSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NSortedDynamicTable_TSyncSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

**В структуре нет основных параметров.**
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NSortedDynamicTable_TSyncSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnector_TArrivalOrderTableSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NStaticTableConnector::TArrivalOrderTableSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnector_TArrivalOrderTableSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `max_row_count` | **Тип**: `long`
**Значение по умолчанию**: `10000`
Максимальное число сообщений в таблице. По достижении лимита синк переходит к следующему шагу сетки, в том числе в будущее. ||
|| `max_data_weight` | **Тип**: `long`
**Значение по умолчанию**: `1073741824`
Максимальный суммарный вес сообщений в таблице. По достижении лимита синк переходит к следующему шагу сетки. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `transaction_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Таймаут мастер-транзакции, атомарно создающей таблицу и продвигающей прогресс доставки. ||
|| `retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Задержка между повторными попытками транзакции. Попытки продолжаются до успеха или отмены job. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnector_TArrivalOrderTableSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnector_TSource.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NStaticTableConnector::TSource&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnector_TSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_table_process_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1h`
За какое время читать одну входную таблицу. Основной параметр для контроля скорости чтения. ||
|| `max_rows_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000000000000.0`
 ||
|| `max_bytes_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000000000000.0`
 ||
|| `max_event_timestamp` | **Тип**: `std::optional<unsigned long>`
 ||
|| `restart_instant` | **Тип**: `TInstant`
**Значение по умолчанию**: `1970-01-01T00:00:00.000000Z`
Установите в этот параметр текущее время в iso8601, чтобы забыть текущий прогресс и начать читать статические таблицы заново. Значение параметра можно безопасно уменьшать, это не приведёт к дополнительному рестарту чтения. Рестарт происходит, только если текущий restart_instant больше, чем последний restart_instant, что сорс сохранил внутри себя. При этом параметр никак не соотносится с таймстемпами статических таблиц и не производит их фильтрацию для рестарта чтения. ||
|| `allow_v1_migration` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Управляет выходом из V1-совместимого порядка. Значение по умолчанию &mdash; `true`. Checkpoint формы V1 распознаётся как `V1`, после чего source с включённым флагом необратимо переводит его через `V1` &rarr; `Draining` &rarr; `V2` или сразу в `V2`, если V1-таблица не обрабатывается. Значение `false` откладывает первоначальный переход. Персистентные `Draining` и `V2` остаются авторитетными и не понижаются при смене флага на `false`. ||
|#


{% cut "**Дополнительные параметры**" %}

Эти параметры для тонкой настройки, не рекомендуется трогать без глубокого понимания системы.

#|
|| `unavailable_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное. ||
|| `min_event_timestamp` | **Тип**: `std::optional<unsigned long>`
Таблицы у которых EventTimestamp меньше MinEventTimestamp, не будут процесситься. ||
|| `max_partition_count` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10K`
Менять не рекомендуется. Ограничение сверху на число одновременно живущих партиций. ||
|| `throttler_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Менять не рекомендуется. Регулирует окно на котором регулируется скорость чтения из партиции. ||
|| `desired_partition_process_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер. ||
|| `desired_partition_rows_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000.0`
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер. ||
|| `desired_partition_bytes_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000000.0`
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер. ||
|| `read_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Менять не рекомендуется. Пересоздает table reader, если тот возвращает пустой ответ в течение периода. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnector_TSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnectorV2_TSource.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::NStaticTableConnectorV2::TSource&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnectorV2_TSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_table_process_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1h`
За какое время читать одну входную таблицу. Основной параметр для контроля скорости чтения. ||
|| `max_rows_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000000000000.0`
 ||
|| `max_bytes_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000000000000.0`
 ||
|| `max_event_timestamp` | **Тип**: `std::optional<unsigned long>`
 ||
|| `restart_instant` | **Тип**: `TInstant`
**Значение по умолчанию**: `1970-01-01T00:00:00.000000Z`
Установите в этот параметр текущее время в iso8601, чтобы забыть текущий прогресс и начать читать статические таблицы заново. Значение параметра можно безопасно уменьшать, это не приведёт к дополнительному рестарту чтения. Рестарт происходит, только если текущий restart_instant больше, чем последний restart_instant, что сорс сохранил внутри себя. При этом параметр никак не соотносится с таймстемпами статических таблиц и не производит их фильтрацию для рестарта чтения. ||
|| `allow_v1_migration` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Управляет выходом из V1-совместимого порядка. Значение по умолчанию &mdash; `true`. Checkpoint формы V1 распознаётся как `V1`, после чего source с включённым флагом необратимо переводит его через `V1` &rarr; `Draining` &rarr; `V2` или сразу в `V2`, если V1-таблица не обрабатывается. Значение `false` откладывает первоначальный переход. Персистентные `Draining` и `V2` остаются авторитетными и не понижаются при смене флага на `false`. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `unavailable_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное. ||
|| `min_event_timestamp` | **Тип**: `std::optional<unsigned long>`
Таблицы у которых EventTimestamp меньше MinEventTimestamp, не будут процесситься. ||
|| `max_partition_count` | **Тип**: [NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)
**Значение по умолчанию**: `10K`
Менять не рекомендуется. Ограничение сверху на число одновременно живущих партиций. ||
|| `throttler_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Менять не рекомендуется. Регулирует окно на котором регулируется скорость чтения из партиции. ||
|| `desired_partition_process_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер. ||
|| `desired_partition_rows_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000.0`
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер. ||
|| `desired_partition_bytes_per_second` | **Тип**: `double`
**Значение по умолчанию**: `1000000.0`
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер. ||
|| `read_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Менять не рекомендуется. Пересоздает table reader, если тот возвращает пустой ответ в течение периода. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_NStaticTableConnectorV2_TSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncHttpSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TAsyncHttpSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncHttpSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyDynamicParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyDynamicParameters)`>`
**Значение по умолчанию**: `{}`
Динамические параметры `at_most_once_strategy`. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора. ||
|| `request_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Общий дедлайн доставки одного сообщения, включая все HTTP-попытки и паузы между ними. Его исчерпание окончательно останавливает синк на время текущей джобы. ||
|| `attempt_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Максимальная длительность одной HTTP-попытки. Попытка дополнительно ограничивается временем, оставшимся до `request_timeout`; значение не может превышать `request_timeout`. ||
|| `retry_initial_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Пауза перед первым повтором. Значение должно находиться между `retry_minimum_delay` и `retry_maximum_delay`. ||
|| `retry_minimum_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
Нижняя граница паузы после добавления джиттера. Значение не может превышать `retry_initial_delay`. ||
|| `retry_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
Множитель экспоненциального роста паузы. Допустимы значения от `1.01` до `100.0` включительно. ||
|| `retry_maximum_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
Верхняя граница паузы между попытками. Значение не может быть меньше `retry_initial_delay`. ||
|| `retry_jitter_ratio` | **Тип**: `double`
**Значение по умолчанию**: `0.2`
Случайное относительное отклонение паузы. Допустимы значения от `0.0` до `1.0` включительно. ||
|| `max_attempt_count` | **Тип**: `int`
**Значение по умолчанию**: `5`
Максимальное число HTTP-попыток с учётом первой. Его исчерпание окончательно останавливает синк на время текущей джобы. Допустимы значения от 1 до 100 включительно. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncHttpSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncMultiClusterQueueSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TAsyncMultiClusterQueueSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncMultiClusterQueueSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyDynamicParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyDynamicParameters)`>`
**Значение по умолчанию**: `{}`
Динамические параметры `at_most_once_strategy`. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `flow_queue_meta_heartbeat_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Как часто контроллер будет во все партиции очереди писать хартбиты с метой с ватермарками. ||
|| `write_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `max_rows_per_write` | **Тип**: `long`
**Значение по умолчанию**: `1000`
 ||
|| `max_bytes_per_write` | **Тип**: `long`
**Значение по умолчанию**: `1048576`
 ||
|| `backoff_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncMultiClusterQueueSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncQueueSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TAsyncQueueSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncQueueSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyDynamicParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyDynamicParameters)`>`
**Значение по умолчанию**: `{}`
Динамические параметры `at_most_once_strategy`. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `flow_queue_meta_heartbeat_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Как часто контроллер будет во все партиции очереди писать хартбиты с метой с ватермарками. ||
|| `write_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `max_rows_per_write` | **Тип**: `long`
**Значение по умолчанию**: `1000`
 ||
|| `max_bytes_per_write` | **Тип**: `long`
**Значение по умолчанию**: `1048576`
 ||
|| `backoff_duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAsyncQueueSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAtLeastOnceClickHouseSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TAtLeastOnceClickHouseSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAtLeastOnceClickHouseSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `write_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Таймаут на сетевую операцию (send/recv). ||
|| `retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Пауза между ретраями вставки. ||
|| `max_insert_attempts` | **Тип**: `long`
**Значение по умолчанию**: `10`
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся. ||
|| `async_insert` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Включает серверные [асинхронные вставки](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#async-insert). Все классы синка эмитят `async_insert=1` и `wait_for_async_insert=1`. Batching-синки с гарантией exactly-once дополнительно передают токен дедупликации и эмитят `async_insert_deduplicate=1`; at-least-once- и at-most-once-синки намеренно не передают токен дедупликации и не задают `async_insert_deduplicate`. ||
|| `replay_horizon` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
Верхняя граница лага реплея для проверки [окна дедупликации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#dedup-window). При запуске сессии записи перед первой вставкой сравнивается с серверным `replicated_deduplication_window_seconds` либо с `replicated_deduplication_window_seconds_for_async_inserts`, если включён `async_insert`. Если выбранное окно короче, в лог воркера пишется предупреждение. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAtLeastOnceClickHouseSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAtMostOnceClickHouseSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TAtMostOnceClickHouseSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAtMostOnceClickHouseSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `write_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Таймаут на сетевую операцию (send/recv). ||
|| `retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Пауза между ретраями вставки. ||
|| `max_insert_attempts` | **Тип**: `long`
**Значение по умолчанию**: `10`
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся. ||
|| `async_insert` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Включает серверные [асинхронные вставки](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#async-insert). Все классы синка эмитят `async_insert=1` и `wait_for_async_insert=1`. Batching-синки с гарантией exactly-once дополнительно передают токен дедупликации и эмитят `async_insert_deduplicate=1`; at-least-once- и at-most-once-синки намеренно не передают токен дедупликации и не задают `async_insert_deduplicate`. ||
|| `replay_horizon` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
Верхняя граница лага реплея для проверки [окна дедупликации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#dedup-window). При запуске сессии записи перед первой вставкой сравнивается с серверным `replicated_deduplication_window_seconds` либо с `replicated_deduplication_window_seconds_for_async_inserts`, если включён `async_insert`. Если выбранное окно короче, в лог воркера пишется предупреждение. ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyDynamicParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyDynamicParameters)`>`
**Значение по умолчанию**: `{}`
Динамические параметры `at_most_once_strategy`. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TAtMostOnceClickHouseSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TClickHouseBatchingSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TClickHouseBatchingSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TClickHouseBatchingSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `write_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Таймаут на сетевую операцию (send/recv). ||
|| `retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Пауза между ретраями вставки. ||
|| `max_insert_attempts` | **Тип**: `long`
**Значение по умолчанию**: `10`
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся. ||
|| `async_insert` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Включает серверные [асинхронные вставки](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#async-insert). Все классы синка эмитят `async_insert=1` и `wait_for_async_insert=1`. Batching-синки с гарантией exactly-once дополнительно передают токен дедупликации и эмитят `async_insert_deduplicate=1`; at-least-once- и at-most-once-синки намеренно не передают токен дедупликации и не задают `async_insert_deduplicate`. ||
|| `replay_horizon` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
Верхняя граница лага реплея для проверки [окна дедупликации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#dedup-window). При запуске сессии записи перед первой вставкой сравнивается с серверным `replicated_deduplication_window_seconds` либо с `replicated_deduplication_window_seconds_for_async_inserts`, если включён `async_insert`. Если выбранное окно короче, в лог воркера пишется предупреждение. ||
|| `max_rows_per_batch` | **Тип**: `long`
**Значение по умолчанию**: `1000`
Максимальное число сообщений Flow в батче: batching sink сбрасывает накопленный батч при достижении этого порога. Допустимый диапазон — от 1 до 2000. ||
|| `max_bytes_per_batch` | **Тип**: `long`
**Значение по умолчанию**: `5242880`
Максимальный суммарный размер сообщений Flow в батче: batching sink сбрасывает накопленный батч при достижении этого порога. Допустимый диапазон — от 1 байта до 10 MiB. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TClickHouseBatchingSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TPassthroughComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TPassthroughComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TPassthroughComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TPassthroughComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TQueueSource.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TQueueSource&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TQueueSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `pull_queue_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Таймаут для запроса чтения из очереди. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `unavailable_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TQueueSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TRandomSource.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TRandomSource&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TRandomSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `partition_count` | **Тип**: `int`
**Значение по умолчанию**: `3`
 ||
|| `partition_message_count` | **Тип**: `std::optional<int>`
 ||
|| `message_size_mean` | **Тип**: `int`
**Значение по умолчанию**: `1024`
 ||
|| `message_count_mean` | **Тип**: `int`
**Значение по умолчанию**: `1000000`
 ||
|| `message_key_range` | **Тип**: `int`
**Значение по умолчанию**: `1024`
 ||
|| `reported_backlog_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `reported_backlog_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `unavailable_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TRandomSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TServiceLogSource.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TServiceLogSource&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TServiceLogSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `long`
**Значение по умолчанию**: `5`
Желаемое количество партиций. Можно оценить как 1 партиция на 1 MB/s потока. ||
|| `desired_cycle_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `12h`
Cорс будет стремиться поддерживать такую скорость генерации сообщений, чтобы обходить всю таблицу раз в `desired_cycle_time`. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `unavailable_threshold` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное. ||
|| `throttler_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Период троттлинга. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TServiceLogSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TShardedClickHouseBatchingSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TShardedClickHouseBatchingSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TShardedClickHouseBatchingSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `write_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Таймаут на сетевую операцию (send/recv). ||
|| `retry_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Пауза между ретраями вставки. ||
|| `max_insert_attempts` | **Тип**: `long`
**Значение по умолчанию**: `10`
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся. ||
|| `async_insert` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Включает серверные [асинхронные вставки](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#async-insert). Все классы синка эмитят `async_insert=1` и `wait_for_async_insert=1`. Batching-синки с гарантией exactly-once дополнительно передают токен дедупликации и эмитят `async_insert_deduplicate=1`; at-least-once- и at-most-once-синки намеренно не передают токен дедупликации и не задают `async_insert_deduplicate`. ||
|| `replay_horizon` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
Верхняя граница лага реплея для проверки [окна дедупликации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#dedup-window). При запуске сессии записи перед первой вставкой сравнивается с серверным `replicated_deduplication_window_seconds` либо с `replicated_deduplication_window_seconds_for_async_inserts`, если включён `async_insert`. Если выбранное окно короче, в лог воркера пишется предупреждение. ||
|| `max_rows_per_batch` | **Тип**: `long`
**Значение по умолчанию**: `1000`
Максимальное число сообщений Flow в батче: batching sink сбрасывает накопленный батч при достижении этого порога. Допустимый диапазон — от 1 до 2000. ||
|| `max_bytes_per_batch` | **Тип**: `long`
**Значение по умолчанию**: `5242880`
Максимальный суммарный размер сообщений Flow в батче: batching sink сбрасывает накопленный батч при достижении этого порога. Допустимый диапазон — от 1 байта до 10 MiB. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TShardedClickHouseBatchingSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSwiftPassthroughComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TSwiftPassthroughComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSwiftPassthroughComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSwiftPassthroughComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSwiftPassthroughOrderedSourceComputation.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TSwiftPassthroughOrderedSourceComputation&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSwiftPassthroughOrderedSourceComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `desired_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `min_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `max_partition_count` | **Тип**: `std::optional<int>`
 ||
|| `sink_channel_multiplier` | **Тип**: `std::optional<int>`
 ||
|| `desired_average_partition_cpu_load` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_memory_used` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_messages_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_bytes_per_second` | **Тип**: `std::optional<double>`
 ||
|| `desired_average_partition_timer_count` | **Тип**: `std::optional<double>`
 ||
|| `allowed_partition_count_deviation` | **Тип**: `std::optional<double>`
 ||
|| `partition_count_double_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `partition_count_half_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `interrupting_weight_multiplier` | **Тип**: `double`
**Значение по умолчанию**: `0.1`
 ||
|| `max_read_window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSwiftPassthroughOrderedSourceComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSyncQueueSink.md -->
## NYT::NFlow::TDynamicUnitedParameters&lt;NYT::NFlow::TSyncQueueSink&gt; {#NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSyncQueueSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

**В структуре нет основных параметров.**


{% cut "**Дополнительные параметры**" %}


#|
|| `flow_queue_meta_heartbeat_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
Как часто контроллер будет во все партиции очереди писать хартбиты с метой с ватермарками. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TDynamicUnitedParameters_NYT_NFlow_TSyncQueueSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TEvenLoadThresholds.md -->
## NYT::NFlow::TEvenLoadThresholds {#NYT_NFlow_TEvenLoadThresholds}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `spread` | **Тип**: `std::optional<double>`
Минимальная разница между максимальной и минимальной загрузкой воркеров по ресурсу (в единицах ресурса: ядра для CPU, байты для памяти), начиная с которой нагрузка считается неровной. ||
|| `ratio` | **Тип**: `std::optional<double>`
Минимальное отношение максимальной загрузки воркера к минимальной, начиная с которого нагрузка считается неровной. Не меньше `1`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TEvenLoadThresholds.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TEventTimestampAssignerSpec.md -->
## NYT::NFlow::TEventTimestampAssignerSpec {#NYT_NFlow_TEventTimestampAssignerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `column` | **Тип**: `std::optional<std::string>`
Колонка со временем ||
|| `format` | **Тип**: [NYT::NFlow::ETimestampFormat](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_ETimestampFormat)
**Значение по умолчанию**: `seconds`
Используемый формат времени (`seconds` и `milliseconds`) ||
|| `limit_by_system_timestamp` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Ограничить `EventTimestamp` значением `SystemTimestamp` для защиты от битых значений из будущего ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TEventTimestampAssignerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TExternalStateJoinerSpec.md -->
## NYT::NFlow::TExternalStateJoinerSpec {#NYT_NFlow_TExternalStateJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `external_state_joiner_class_name` | **Тип**: `std::string`
**Значение по умолчанию**: `NYT::NFlow::TSimpleExternalStateJoiner`
Полное имя класса external state joiner'а. Должен быть зарегистрирован макросом `YT_FLOW_DEFINE_EXTERNAL_STATE_JOINER` (или быть библиотечной реализацией, как `NYT::NFlow::TSimpleExternalStateJoiner`). ||
|| `client_provider_resource_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>>`
Если задан, фреймворк ищет статический ресурс с этим именем (должен реализовывать `IYTClientProvider`) и использует его `Get()` как YT-клиент joiner'а. При этом `cluster` из rich path таблицы игнорируется. Взаимоисключающе с `client_factory_resource_id` (этот параметр приоритетнее). ||
|| `client_factory_resource_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>>`
Если задан, фреймворк ищет статический ресурс с этим именем (должен реализовывать `IYTClientProvider`) и использует `GetClient(cluster)` для получения YT-клиента под кластер из rich path таблицы. Взаимоисключающе с `client_provider_resource_id`. ||
|| `join_on` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TStateJoinSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TStateJoinSpec)`>`
**Значение по умолчанию**: `{}`
Описание соответствия между ключами входного потока computation'а и ключами joiner'а (см. `TStateJoinSpec`). ||
|| `auto_preload` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Если `true` (по умолчанию), фреймворк сам вызывает `PreloadKeyStates` у этого joiner'а перед каждым `DoProcess`, формируя ключи по `join_on`. Если `false`, computation сам отвечает за вызов `Client.PreloadKeyStates(IInputContextPtr)` или `PreloadKeyStates(THashSet<TKey>)` до `GetState`. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
Параметры конкретной реализации joiner'а. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TExternalStateJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TExternalStateManagerSpec.md -->
## NYT::NFlow::TExternalStateManagerSpec {#NYT_NFlow_TExternalStateManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `external_state_manager_class_name` | **Тип**: `std::string`
**Значение по умолчанию**: `NYT::NFlow::TSimpleExternalStateManager`
Полное имя класса external state manager'а. Должен быть зарегистрирован макросом `YT_FLOW_DEFINE_EXTERNAL_STATE_MANAGER` (или быть библиотечной реализацией, как `NYT::NFlow::TSimpleExternalStateManager`). ||
|| `auto_preload` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Если `true` (по умолчанию), фреймворк сам вызывает `PreloadKeyStates` у этого менеджера перед каждым `DoProcess` со всеми ключами сообщений, таймеров и визитов эпохи. Если `false`, computation сам отвечает за вызов `Client.PreloadKeyStates(IInputContextPtr)`, `PreloadKeyStates(IInputContextPtr, TExtractKeysOptions)` или `PreloadKeyStates(THashSet<TKey>)` до `GetState`; `GetState` по непредзагруженному ключу бросает исключение. Запрещено для companion-вычислений. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
Параметры выбранной реализации external state manager'а. Ожидаемая схема определяется полем `class_name`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TExternalStateManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TFetcherInJoinerSpec.md -->
## NYT::NFlow::TFetcherInJoinerSpec {#NYT_NFlow_TFetcherInJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/connectors/servicelog/joiner.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/connectors/servicelog/joiner.h)

#|
|| **Параметр** | **Описание** ||
|| `table_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Значение по умолчанию**: `TString("")`
Путь к таблице с указанием кластера (можно указать несколько кластеров). ||
|| `value_columns` | **Тип**: `std::optional<THashSet<std::string>>`
Неключевые колонки, которые нужно читать (по умолчанию читаются все колонки). ||
|| `attempts` | **Тип**: `long`
**Значение по умолчанию**: `1`
 ||
|| `retry_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `fetch_type` | **Тип**: [NYT::NFlow::EFetchType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EFetchType)
**Значение по умолчанию**: `table_reader`
Важный параметр, влияет на характер нагрузки на YT, см. описание EFetchType. ||
|| `prefix` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Префикс имени колонки, который будет добавлен для неключевых колонок таблицы. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TFetcherInJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TFileProviderSpec.md -->
## NYT::NFlow::TFileProviderSpec {#NYT_NFlow_TFileProviderSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/file_provider.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/file_provider.h)

#|
|| **Параметр** | **Описание** ||
|| `file_provider_class_name` | **Тип**: `std::string`
**Обязательный параметр**
Имя реализации `IFileProvider`, зарегистрированной через `YT_FLOW_DEFINE_FILE_PROVIDER`. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Параметры зарегистрированной реализации файлового провайдера. ||
|| `postprocess_command` | **Тип**: `std::optional<std::string>`
Необязательная shell-команда, которая преобразует скачанное дерево до инициализации ресурса. Успешный результат кешируется по ревизии провайдера и точной строке команды. ||
|| `postprocess_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Максимальное время выполнения команды. Изменение таймаута не инвалидирует уже кешированный результат предобработки. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TFileProviderSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TFlowNodeConfig.md -->
## NYT::NFlow::TFlowNodeConfig {#NYT_NFlow_TFlowNodeConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/runner/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/runner/config.h)

#|
|| **Параметр** | **Описание** ||
|| `logging` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NLogging::TLogManagerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_TLogManagerConfig)`>`
**Значение по умолчанию**:

```yson
{
    "high_backlog_watermark" = 100000;
    "low_backlog_watermark" = 100000;
    "min_disk_space" = 0;
    "rules" = [
        {
            "exclude_categories" = [];
            "max_level" = "maximum";
            "min_level" = "info";
            "writers" = [
                "Stderr";
            ];
        };
    ];
    "writers" = {
        "Stderr" = {
            "common_fields" = {};
            "enable_host_field" = %false;
            "enable_native_tags" = %false;
            "enable_source_location" = %false;
            "enable_system_fields" = %true;
            "format" = "plain_text";
            "type" = "stderr";
            "yson_format" = "text";
        };
    };
}
```
Настройки логирования. ||
|| `jaeger` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTracing::TJaegerTracerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTracing_TJaegerTracerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `pipe_io_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NPipeIO::TPipeIODispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NPipeIO_TPipeIODispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `solomon_registry` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TSolomonRegistryConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TSolomonRegistryConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `error_backtrace_enricher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TBacktraceEnricherSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TBacktraceEnricherSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `query_engine_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NQueryClient::TQueryEngineConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NQueryClient_TQueryEngineConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `cluster_url` | **Тип**: `std::string`
**Обязательный параметр**
Кластер YTsaurus для работы. ||
|| `path` | **Тип**: `TString`
**Обязательный параметр**
Рабочая папка пайплайна на кластере `cluster_url`. ||
|| `proxy_role` | **Тип**: `std::optional<std::string>`
Роль `rpc proxy`. ||
|| `rpc_port` | **Тип**: `int`
**Значение по умолчанию**: `0`
Основной порт для общения воркеров и контроллеров, может быть отдельным у каждого инстанса. ||
|| `monitoring_port` | **Тип**: `int`
**Значение по умолчанию**: `0`
API для получения метрик. ||
|| `companion` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NCompanion::TCompanionConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NCompanion_TCompanionConfig)`>`
Параметры процесса-компаньона. Нужны любому воркеру, который запускает компаньон (Python, Java, Go, C++-компаньон). В vanilla-запуске заполняются автоматически. ||
|| `controller` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NController::TControllerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NController_TControllerConfig)`>`
**Значение по умолчанию**: `{}`
Параметры `Controller`. ||
|| `worker` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NWorker::TWorkerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NWorker_TWorkerConfig)`>`
**Значение по умолчанию**: `{}`
Параметры `Worker`. ||
|| `authenticator` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAuthenticatorConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAuthenticatorConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `bus_server` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TBusServerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TBusServerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `rpc_server` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TServerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TServerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `core_dumper` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCoreDump::TCoreDumperConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCoreDump_TCoreDumperConfig)`>`
 ||
|| `solomon_exporter` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TSolomonExporterConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TSolomonExporterConfig)`>`
**Значение по умолчанию**: `{'enable_solomon_aggregates': true}`
 ||
|| `solomon_proxy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TSolomonProxyConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TSolomonProxyConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `http_client_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttp::TClientConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttp_TClientConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `https_client_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttps::TClientConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttps_TClientConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `http_poller_threads` | **Тип**: `int`
**Значение по умолчанию**: `1`
 ||
|| `abort_on_unrecognized_options` | **Тип**: `bool`
**Значение по умолчанию**: `true`
При выставлении значения true Flow Node не будет запускаться при наличии неизвестных опций в конфиге. ||
|| `ignore_singletons_dynamic_config` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_porto_resource_tracker` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `address_resolver` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NNet::TAddressResolverConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NNet_TAddressResolverConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `grpc_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TDispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TDispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tcmalloc` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTCMalloc::TTCMallocConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTCMalloc_TTCMallocConfig)`>`
**Значение по умолчанию**: `{'guarded_sampling_rate': 16777216}`
 ||
|| `fiber_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NConcurrency::TFiberManagerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_TFiberManagerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `resource_tracker` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TResourceTrackerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TResourceTrackerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tcp_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TDispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TDispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `rpc_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TDispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TDispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `protobuf_interop` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NYson::TProtobufInteropConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYson_TProtobufInteropConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `clients_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NClient::NCache::TClientsCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NClient_NCache_TClientsCacheConfig)`>`
**Значение по умолчанию**: `{}`
Настройки соединений кэша YT-клиентов ноды. Через него ходят коннектор пайплайна, writer логов в очередь и всё, что берёт клиента из `TComputationContext::ClientsCache` &mdash; компьютейшены, коннекторы и менеджеры состояния. Аутентификатор пайплайна создаёт своего клиента отдельно и этими настройками не управляется. ||
|| `clients_cache_factory` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::INode>`
Параметры фабрики корневого кэша YT-клиентов, установленной через `SetRootClientsCacheFactory()`. Схему параметров задаёт сама фабрика; встроенная фабрика этот блок игнорирует. ||
|| `enable_phdr_cache` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TFlowNodeConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_THeavyHittersSpec.md -->
## NYT::NFlow::THeavyHittersSpec {#NYT_NFlow_THeavyHittersSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `window` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Временное окно. ||
|| `threshold` | **Тип**: `double`
**Значение по умолчанию**: `0.01`
Ключи, которые встречаются в потоке чаще, чем `threshold`, будут считаться высокочастотными. Алгоритм использует `O(1 / threshold)` памяти. ||
|| `limit` | **Тип**: `long`
**Значение по умолчанию**: `5`
Максимальное количество показываемых высокочастотных ключей. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_THeavyHittersSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TIdlePartitionsSpec.md -->
## NYT::NFlow::TIdlePartitionsSpec {#NYT_NFlow_TIdlePartitionsSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `duration` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Время, как долго партиция должна быть пустой, чтобы поверить, что в неё не идёт записи. ||
|| `max_ratio` | **Тип**: `double`
**Значение по умолчанию**: `0.4`
Доля партиций, которые могут быть исключены из расчёта вотермарка этой логикой. Идейный смысл опции &mdash; защита от продвижения вотермарка, когда поставщик данных прекратил писать сообщения в очередь по причине инцидента на его стороне. Выставление значения опции в `1.0` по сути отключает эту защиту. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TIdlePartitionsSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TInputOrderingSpec.md -->
## NYT::NFlow::TInputOrderingSpec {#NYT_NFlow_TInputOrderingSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `time_type` | **Тип**: [NYT::NFlow::ETimeType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_ETimeType)
**Значение по умолчанию**: `event_time`
Время для сортировки: `event_time`, `system_time`, `real_time` ||
|| `stream_delays` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, `[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `{}`
Задержки для входных потоков. Если поток не указан &mdash; то задержки не будет ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TInputOrderingSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TKeyStateRow.md -->
## NYT::NFlow::TKeyStateRow {#NYT_NFlow_TKeyStateRow}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Одна строка в секциях `key_states`, `external_key_states`, `joined_external_key_states` ответа `read-states`.

#|
|| **Параметр** | **Описание** ||
|| `computation_id` | **Тип**: `NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>`
**Обязательный параметр**
Идентификатор Computation'а, которому принадлежит ключ. ||
|| `key` | **Тип**: `NYT::TStrongTypedef<NYT::NFlow::TCompactUnversionedOwningRow, NYT::NFlow::TKeyTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Значение ключа (YSON-словарь `{column = value; ...}` по `key_schema`). ||
|| `states` | **Тип**: `THashMap<std::string, NYT::NYson::TYsonString>`
**Обязательный параметр**
Содержимое стейтов под этим ключом: словарь `имя_стейта → YSON-значение`. YSON-значение здесь — это сериализованный пользовательский payload стейта (тип определяется конкретным `State`/`ExternalState` в коде Computation'а; для встроенных типов вроде счётчиков это просто число, для произвольных пользовательских структур &mdash; YSON-словарь со всеми их полями).

Для секций `external_key_states` / `joined_external_key_states` имя стейта совпадает с именем external_state-клиента (то, что process function передаёт в `IRuntimeInitContext::InitExternalStateClient`, например `/state`). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TKeyStateRow.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TKeyVisitorStreamSpec.md -->
## NYT::NFlow::TKeyVisitorStreamSpec {#NYT_NFlow_TKeyVisitorStreamSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `names` | **Тип**: `std::optional<THashSet<std::string>>`
 ||
|| `external_names` | **Тип**: `std::optional<THashSet<std::string>>`
 ||
|| `upstream_streams` | **Тип**: `std::optional<THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>>`
Перечисление входных и source-стримов компьютейшена, завершения которых ждёт визитор. Имеет смысл только при `finite=%true` (см. динамическую спеку): при `finite=%false` визитор не завершается никогда, и параметр ни на что не влияет.
Если не задан — визитор ждёт все входные и source-стримы, то есть завершается вместе со всем входом компьютейшена.
Сужать перечисление имеет смысл при циклической топологии: когда process function эмитит из `ProcessVisit` в output, который возвращается к тому же компьютейшену входным стримом. Такой стрим завершится только после того, как визитор перестанет обходить стейт, поэтому отслеживать его нельзя.
В продакшн-пайплайне это ни на что не влияет: источники бесконечны, входные стримы не завершаются, и финальный pass не запускается ни при каких `upstream_streams`. Сужать перечисление нужно там, где все источники пайплайна конечны и пайплайн должен дойти до состояния `completed`, то есть в интеграционных тестах. ||
|| `bucket_count` | **Тип**: `int`
**Значение по умолчанию**: `8`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TKeyVisitorStreamSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TLateDataPartitionsSpec.md -->
## NYT::NFlow::TLateDataPartitionsSpec {#NYT_NFlow_TLateDataPartitionsSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `value` | **Тип**: `NYT::TStrongTypedef<double, NYT::NFlow::TWatermarkPercentileTag, NYT::TStrongTypedefOptions{true}>`
**Значение по умолчанию**: `100.0`
 ||
|| `delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TLateDataPartitionsSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TLoadThroughputThrottlerSpec.md -->
## NYT::NFlow::TLoadThroughputThrottlerSpec {#NYT_NFlow_TLoadThroughputThrottlerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/misc/load_throughput_throttler.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/misc/load_throughput_throttler.h)

#|
|| **Параметр** | **Описание** ||
|| `limit` | **Тип**: `std::optional<double>`
 ||
|| `period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `alpha` | **Тип**: `double`
**Значение по умолчанию**: `0.999`
 ||
|| `initial_row_size` | **Тип**: `double`
**Значение по умолчанию**: `1000.0`
 ||
|| `initial_key_size` | **Тип**: `double`
**Значение по умолчанию**: `500.0`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TLoadThroughputThrottlerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TMatchedStates.md -->
## NYT::NFlow::TMatchedStates {#NYT_NFlow_TMatchedStates}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Разбивка совпавших строк по категориям. Используется в [TDeleteStatesResponse](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDeleteStatesResponse).

#|
|| **Параметр** | **Описание** ||
|| `key_states` | **Тип**: [NYT::NFlow::TMatchedStatesBucket](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TMatchedStatesBucket)
**Обязательный параметр**
Совпавшие строки в `key_states`. ||
|| `partition_states` | **Тип**: [NYT::NFlow::TMatchedStatesBucket](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TMatchedStatesBucket)
**Обязательный параметр**
Совпавшие строки в `partition_states`. ||
|| `external_key_states` | **Тип**: [NYT::NFlow::TMatchedStatesBucket](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TMatchedStatesBucket)
**Обязательный параметр**
Совпавшие строки в external_state_manager'ах. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TMatchedStates.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TMatchedStatesBucket.md -->
## NYT::NFlow::TMatchedStatesBucket {#NYT_NFlow_TMatchedStatesBucket}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Подсчёт совпавших строк по одной из категорий ответа `delete-states`.

#|
|| **Параметр** | **Описание** ||
|| `total` | **Тип**: `long`
**Значение по умолчанию**: `0`
Суммарное число совпавших строк в этой категории. ||
|| `details` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>, THashMap<std::string, long>>`
**Значение по умолчанию**: `{}`
Разбивка `computation_id → имя_стейта → число строк`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TMatchedStatesBucket.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TMessageSerializer.md -->
## NYT::NFlow::TMessageSerializer {#NYT_NFlow_TMessageSerializer}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/message-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/message-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `message_id` | **Тип**: `NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TMessageIdTag>`
**Обязательный параметр**
Уникальный id сообщения. ||
|| `system_timestamp` | **Тип**: `NYT::TStrongTypedef<unsigned long, NYT::NFlow::TSystemTimestampTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Timestamp создания конкретного сообщения. ||
|| `alignment_timestamp` | **Тип**: `NYT::TStrongTypedef<unsigned long, NYT::NFlow::TSystemTimestampTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
 ||
|| `event_timestamp` | **Тип**: `NYT::TStrongTypedef<unsigned long, NYT::NFlow::TSystemTimestampTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Timestamp реального события, ассоциированного с данным сообщением. ||
|| `stream_id` | **Тип**: `NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>`
**Обязательный параметр**
Поток, в рамках которого существует данное сообщение. ||
|| `payload` | **Тип**: `NYT::TStrongTypedef<NYT::NFlow::TCompactUnversionedOwningRow, NYT::NFlow::TPayloadTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Непосредственно данные. ||
|| `payload_schema` | **Тип**: `NYT::TIntrusivePtr<NYT::NTableClient::TTableSchema>`
**Обязательный параметр**
Схема payload, заполняется на базе `stream_id`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TMessageSerializer.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TPartitionStateRow.md -->
## NYT::NFlow::TPartitionStateRow {#NYT_NFlow_TPartitionStateRow}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Одна строка в секции `partition_states` ответа `read-states`.

#|
|| **Параметр** | **Описание** ||
|| `computation_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>>`
Идентификатор Computation'а. Может отсутствовать, если партиция не привязана к конкретному Computation'у. ||
|| `partition_id` | **Тип**: `NYT::TStrongTypedef<NYT::TGuid, NYT::NFlow::TPartitionIdTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Идентификатор партиции. ||
|| `states` | **Тип**: `THashMap<std::string, NYT::NYson::TYsonString>`
**Обязательный параметр**
Содержимое partition-стейтов: мапа `имя_стейта → YSON-значение`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TPartitionStateRow.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TPipelineSpec.md -->
## NYT::NFlow::TPipelineSpec {#NYT_NFlow_TPipelineSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `validate_binary_version` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `binary_version` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
 ||
|| `validate_binary_checksum` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `binary_checksum` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
 ||
|| `computations` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TComputationSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TComputationSpec)`>>`
**Значение по умолчанию**: `{}`
Именованное перечисление всех узлов пайплайна. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `resources` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TResourceSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TResourceSpec)`>>`
**Значение по умолчанию**: `{}`
Именованное перечисление всех ресурсов. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `streams` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TStreamSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TStreamSpec)`>>`
**Значение по умолчанию**: `{}`
Именованное перечисление всех потоков данных. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TPipelineSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TPivotFinderSpec.md -->
## NYT::NFlow::TPivotFinderSpec {#NYT_NFlow_TPivotFinderSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `part_count` | **Тип**: `long`
**Значение по умолчанию**: `16`
 ||
|| `window_size` | **Тип**: `long`
**Значение по умолчанию**: `16384`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TPivotFinderSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TReadStatesArg.md -->
## NYT::NFlow::TReadStatesArg {#NYT_NFlow_TReadStatesArg}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Аргумент команды `read-states`.

Команда поддерживает три режима использования (определяются набором заполненных полей):

1. Только `computation_id` &mdash; все стейты для всех партиций указанного Computation'а.
2. `computation_id` + `key` &mdash; точечный lookup по ключу в `key_states` (и в external-стейтах) указанного Computation'а.
3. Только `partition_id` &mdash; все `partition_states` указанной партиции. Дополнительно, если эта партиция принадлежит `SourceComputation` (каждая такая партиция отвечает ровно за один `SourceKey`, в отличие от обычных партиций с диапазоном `[LowerKey; UpperKey)`), сразу же подгружаются и `key_states` под этим `SourceKey`.

#|
|| **Параметр** | **Описание** ||
|| `computation_id` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>>`
Идентификатор Computation'а. Обязателен для режимов 1 и 2 (см. описание самой команды). ||
|| `partition_id` | **Тип**: `std::optional<NYT::TStrongTypedef<NYT::TGuid, NYT::NFlow::TPartitionIdTag, NYT::TStrongTypedefOptions{true}>>`
Идентификатор партиции. Обязателен для режима 3 (см. описание самой команды). ||
|| `key` | **Тип**: `std::optional<NYT::NYson::TYsonString>`
Ключ для точечного lookup'а (режим 2). Принимается в двух формах:

* **YSON-словарь** `{column = value; ...}` &mdash; для каждой целевой таблицы (`key_states` Computation'а и каждой таблицы external_state_manager'а/joiner'а с собственной `key_schema_override`) словарь раскладывается по её ключевой схеме; колонки, отсутствующие в схеме, игнорируются.
* **YSON-список** позиционных значений &mdash; передаётся в таблицы как есть, без адаптации под их схему. ||
|| `name` | **Тип**: `std::optional<std::string>`
Фильтр по точному имени стейта; применяется ко всем секциям (key/partition/external). Если задан, в каждой секции возвращаются только строки с этим именем стейта. ||
|| `target` | **Тип**: [NYT::NFlow::EFlowStateTarget](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EFlowStateTarget)
**Значение по умолчанию**: `all`
Какие категории стейтов запрашивать. По умолчанию `all`. ||
|| `limit` | **Тип**: `long`
**Значение по умолчанию**: `10`
Максимальное число строк, возвращаемых в каждой секции ответа независимо.
Под секциями имеются в виду поля ответа: `key_states`, `partition_states`, `external_key_states`, `joined_external_key_states`. У каждой свой бюджет в `limit` строк.

Внутри секций `external_key_states` / `joined_external_key_states` бюджет честно делится между активными external-стейтами этого Computation'а. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TReadStatesArg.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TReadStatesResponse.md -->
## NYT::NFlow::TReadStatesResponse {#NYT_NFlow_TReadStatesResponse}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/controller/state_access.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/controller/state_access.h)

Ответ команды `read-states`. Каждая секция наполняется независимо по своему `limit`.

#|
|| **Параметр** | **Описание** ||
|| `key_states` | **Тип**: `std::vector<`[NYT::NFlow::TKeyStateRow](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TKeyStateRow)`>`
**Значение по умолчанию**: `[]`
Стейты, привязанные к ключам (по ключевой схеме Computation'а). ||
|| `partition_states` | **Тип**: `std::vector<`[NYT::NFlow::TPartitionStateRow](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TPartitionStateRow)`>`
**Значение по умолчанию**: `[]`
Стейты, привязанные к партициям. ||
|| `external_key_states` | **Тип**: `std::vector<`[NYT::NFlow::TKeyStateRow](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TKeyStateRow)`>`
**Значение по умолчанию**: `[]`
Стейты из external_state_manager'ов (mutable, могут быть удалены через `delete-states`). ||
|| `joined_external_key_states` | **Тип**: `std::vector<`[NYT::NFlow::TKeyStateRow](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TKeyStateRow)`>`
**Значение по умолчанию**: `[]`
Стейты, наблюдаемые через external_state_joiner'ы (read-only, join-источники). ||
|| `errors` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Ошибки, возникшие при формировании ответа на сам запрос (например, не удалось адаптировать ключ под схему конкретного external-стейта или упал `List`/`Lookup` в его таблицу). Не относятся к ошибкам в работе пайплайна со стейтом. Если такая ошибка случилась для одного из external-стейтов, остальные секции всё равно наполняются успешно. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TReadStatesResponse.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TResourceDescription.md -->
## NYT::NFlow::TResourceDescription {#NYT_NFlow_TResourceDescription}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `alias` | **Тип**: `std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>>`
 ||
|| `worker` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `controller` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TResourceDescription.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TResourceSpec.md -->
## NYT::NFlow::TResourceSpec {#NYT_NFlow_TResourceSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `resource_class_name` | **Тип**: `std::string`
**Обязательный параметр**
Имя соответствующего класса.

Должен быть зарегистрирован с помощью макроса `YT_FLOW_DEFINE_RESOURCE`. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные параметры для соответствующего класса. ||
|| `file_providers` | **Тип**: `THashMap<NYT::TStrongTypedef<std::string, NYT::NFlow::TFileProviderIdTag, NYT::TStrongTypedefOptions{true}>, NYT::TIntrusivePtr<`[NYT::NFlow::TFileProviderSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TFileProviderSpec)`>>`
**Значение по умолчанию**: `{}`
Именованные файловые провайдеры ресурса. Контроллер добавляет файловый снимок в целевую ревизию только после обнаружения всех имён; собственная часть целевой спецификации контроллера может публиковаться независимо. Воркеры материализуют точные ревизии из полученной цели. Такие ресурсы поддерживаются только на воркерах и должны иметь `controller = %false` во всех путях `required_resource_ids`, которые могут до них дойти. Ключи должны соответствовать `[0-9A-Za-z_-]+`. ||
|| `dependencies` | **Тип**: `THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<`[NYT::NFlow::TResourceDescription](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TResourceDescription)`>>`
**Значение по умолчанию**: `{}`
Ресурсы, от которых зависит данный ресурс. Повторяет структуру `required_resource_ids` из `Computation`. ||
|| `required_capabilities` | **Тип**: `THashMap<std::string, long>`
**Значение по умолчанию**: `{}`
 ||
|| `preload_required` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `always_on` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Если `true`, ресурс загружается заранее при старте юнита и держится в памяти всё время жизни юнита (не выгружается), а не лениво при первом обращении. Загружается только на тех юнитах, где ресурс требует хотя бы одна computation (см. `worker` / `controller` в `required_resource_ids`): ресурс, нужный только на worker'е, не грузится на controller'е, а ресурс, который не требует ни одна computation, не грузится вовсе. Взаимоисключающе с `preload_required`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TResourceSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TSimpleExternalStateJoinerSpec.md -->
## NYT::NFlow::TSimpleExternalStateJoinerSpec {#NYT_NFlow_TSimpleExternalStateJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/computation/simple_external_state_manager.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/computation/simple_external_state_manager.h)

#|
|| **Параметр** | **Описание** ||
|| `path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до динтаблицы со стейтами (с указанием кластера в rich path). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TSimpleExternalStateJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TSimpleExternalStateManagerSpec.md -->
## NYT::NFlow::TSimpleExternalStateManagerSpec {#NYT_NFlow_TSimpleExternalStateManagerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/computation/simple_external_state_manager.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/computation/simple_external_state_manager.h)

#|
|| **Параметр** | **Описание** ||
|| `path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до динтаблицы со стейтами (с указанием кластера в rich path). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TSimpleExternalStateManagerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TSimpleRunnerConfig.md -->
## NYT::NFlow::TSimpleRunnerConfig {#NYT_NFlow_TSimpleRunnerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/runner/simple_runner_program.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/runner/simple_runner_program.h)

#|
|| **Параметр** | **Описание** ||
|| `logging` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NLogging::TLogManagerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_TLogManagerConfig)`>`
**Значение по умолчанию**:

```yson
{
    "high_backlog_watermark" = 100000;
    "low_backlog_watermark" = 100000;
    "min_disk_space" = 0;
    "rules" = [
        {
            "exclude_categories" = [];
            "max_level" = "maximum";
            "min_level" = "info";
            "writers" = [
                "Stderr";
            ];
        };
    ];
    "writers" = {
        "Stderr" = {
            "common_fields" = {};
            "enable_host_field" = %false;
            "enable_native_tags" = %false;
            "enable_source_location" = %false;
            "enable_system_fields" = %true;
            "format" = "plain_text";
            "type" = "stderr";
            "yson_format" = "text";
        };
    };
}
```
Настройки логирования. ||
|| `jaeger` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTracing::TJaegerTracerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTracing_TJaegerTracerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `pipe_io_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NPipeIO::TPipeIODispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NPipeIO_TPipeIODispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `solomon_registry` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TSolomonRegistryConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TSolomonRegistryConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `error_backtrace_enricher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TBacktraceEnricherSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TBacktraceEnricherSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `query_engine_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NQueryClient::TQueryEngineConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NQueryClient_TQueryEngineConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `cluster_url` | **Тип**: `std::string`
**Обязательный параметр**
Имя кластера, на котором находится пайплайн. Хвост после последнего `/` трактуется как прокси-роль и имеет приоритет над `proxy_role` &mdash; например, `hahn/flow` означает кластер `hahn` и роль `flow`. ||
|| `proxy_role` | **Тип**: `std::optional<std::string>`
**Обязательный параметр**
[Прокси-роль](https://ytsaurus.tech/docs/ru/user-guide/proxy/about.md#rpc_proxy), которую нужно использовать для выполнения операций над пайплайном. ||
|| `path` | **Тип**: `TString`
**Обязательный параметр**
Путь к пайплайну на YTsaurus. ||
|| `spec` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TPipelineSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TPipelineSpec)`>`
**Обязательный параметр**
Статическая спека, с которой нужно запустить пайплайн. ||
|| `dynamic_spec` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDynamicPipelineSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDynamicPipelineSpec)`>`
**Значение по умолчанию**: `{}`
Динамическая спека, с которой нужно запустить пайплайн. ||
|| `abort_on_unrecognized_options` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `abort_on_specs_parseability_error` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `vanilla` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TVanillaConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TVanillaConfig)`>`
Если задан и `enable=%true`, раннер вместо запуска контроллера/воркеров локально поднимет vanilla-операцию в YTsaurus и запустит федерацию в ней. ||
|| `set_flow_core_target` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `direct_controller_commands` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TDirectControllerCommandsConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TDirectControllerCommandsConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `address_resolver` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NNet::TAddressResolverConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NNet_TAddressResolverConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `grpc_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TDispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TDispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tcmalloc` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTCMalloc::TTCMallocConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTCMalloc_TTCMallocConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `fiber_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NConcurrency::TFiberManagerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_TFiberManagerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `resource_tracker` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TResourceTrackerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TResourceTrackerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tcp_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TDispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TDispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `rpc_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TDispatcherConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TDispatcherConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `protobuf_interop` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NYson::TProtobufInteropConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYson_TProtobufInteropConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `clients_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NClient::NCache::TClientsCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NClient_NCache_TClientsCacheConfig)`>`
**Значение по умолчанию**: `{}`
Настройки соединений кэша YT-клиентов, через который раннер общается с кластером пайплайна. На vanilla launcher не распространяются: он создаёт своих клиентов отдельно. ||
|| `clients_cache_factory` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::INode>`
Параметры фабрики корневого кэша YT-клиентов, установленной через `SetRootClientsCacheFactory()`. Схему параметров задаёт сама фабрика; встроенная фабрика этот блок игнорирует. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TSimpleRunnerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TSinkSpec.md -->
## NYT::NFlow::TSinkSpec {#NYT_NFlow_TSinkSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `sink_class_name` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Имя соответствующего класса.

Должен быть зарегистрирован с помощью `YT_FLOW_DEFINE_SINK`. ||
|| `input_stream_ids` | **Тип**: `THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>`
**Значение по умолчанию**: `[]`
Список входных потоков.

Здесь могут быть только потоки, указанные в `output_stream_ids` всего `Computation`. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные параметры для соответствующего класса. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TSinkSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TSourceSpec.md -->
## NYT::NFlow::TSourceSpec {#NYT_NFlow_TSourceSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `source_class_name` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Имя соответствующего класса.

Должен быть зарегистрирован с помощью `YT_FLOW_DEFINE_SOURCE`. ||
|| `parameters` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::IMapNode>`
**Значение по умолчанию**: `{}`
Произвольные параметры для соответствующего класса. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TSourceSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TStateJoinSpec.md -->
## NYT::NFlow::TStateJoinSpec {#NYT_NFlow_TStateJoinSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `key_schema_override` | **Тип**: `NYT::TIntrusivePtr<NYT::NTableClient::TTableSchema>`
Если задана, схема используется в качестве ключа joiner'а вместо `group_by_schema` computation'а. ||
|| `key_provider_streams` | **Тип**: `std::optional<THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>>`
Если задано, ключи для joiner'а берутся только из сообщений и таймеров с указанными `stream_id`; `nullopt` означает «из всех входных стримов computation'а». ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TStateJoinSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TStateJoinerSpec.md -->
## NYT::NFlow::TStateJoinerSpec {#NYT_NFlow_TStateJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `computation_id` | **Тип**: `NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>`
**Обязательный параметр**
`Computation`, чей внутренний стейт читается этим joiner'ом. ||
|| `state_name` | **Тип**: `std::string`
**Обязательный параметр**
Имя стейт-клиента целевого `Computation`'а — тот префикс, который он передал в `InitClient` (начинается с `/`). ||
|| `join_on` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TStateJoinSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TStateJoinSpec)`>`
**Значение по умолчанию**: `{}`
Описание соответствия между ключами входного потока computation'а и ключом стейта целевого `Computation`'а (см. `TStateJoinSpec`). `key_schema_override` должна совпадать с `group_by_schema` целевого `Computation`'а. ||
|| `auto_preload` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Если `true` (по умолчанию), фреймворк сам вызывает `PreloadKeyStates` у этого joiner'а перед каждым `DoProcess`, формируя ключи по `join_on`. Если `false`, computation сам отвечает за вызов `PreloadKeyStates` до `GetState`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TStateJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TStaticTableKeyVisitorJoinerSpec.md -->
## NYT::NFlow::TStaticTableKeyVisitorJoinerSpec {#NYT_NFlow_TStaticTableKeyVisitorJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/computation/static_table_key_visitor_joiner.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/computation/static_table_key_visitor_joiner.h)

#|
|| **Параметр** | **Описание** ||
|| `path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до статической сортированной таблицы-источника (с указанием кластера в rich path). Префикс её ключевых колонок должен совпадать с `group_by_schema` computation'а по именам и типам; вычисляемая (партиционная) колонка должна быть материализована значениями своего выражения. ||
|| `unavailable_source_policy` | **Тип**: [NYT::NFlow::EUnavailableSourcePolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EUnavailableSourcePolicy)
**Значение по умолчанию**: `retry`
Поведение при неуспешном чтении источника (исчерпавшем `read_attempts` попыток).
`retry` (по умолчанию) — ошибка роняет итерацию обхода и чтение повторяется; обход не продвигается за непрочитанный диапазон.
`mark_unreadable` — ошибка проглатывается, обход идёт дальше, а ключи непрочитанного диапазона резолвятся неинициализированным аксессором (`IsInitialized() == false`). ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TStaticTableKeyVisitorJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TStreamSpec.md -->
## NYT::NFlow::TStreamSpec {#NYT_NFlow_TStreamSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `class_name` | **Тип**: `std::optional<std::string>`
 ||
|| `schema` | **Тип**: `NYT::TIntrusivePtr<NYT::NTableClient::TTableSchema>`
**Обязательный параметр**
Cхема потока. Является схемой динтаблицы. Не может содержать сортировки и вычислимые поля.

Изменение схем рекомендуется осуществлять через полную остановку пайплайна: в этом случае внутри пайплайна не останется `output` сообщений. ||
|| `migration_function` | **Тип**: `std::string`
**Значение по умолчанию**: `NYT::NFlow::DefaultMigrationFunction`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TStreamSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TTableFetcherSpec.md -->
## NYT::NFlow::TTableFetcherSpec {#NYT_NFlow_TTableFetcherSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/connectors/servicelog/fetcher.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/connectors/servicelog/fetcher.h)

#|
|| **Параметр** | **Описание** ||
|| `table_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Значение по умолчанию**: `TString("")`
Путь к таблице с указанием кластера (можно указать несколько кластеров). ||
|| `value_columns` | **Тип**: `std::optional<THashSet<std::string>>`
Неключевые колонки, которые нужно читать (по умолчанию читаются все колонки). ||
|| `attempts` | **Тип**: `long`
**Значение по умолчанию**: `1`
 ||
|| `retry_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `fetch_type` | **Тип**: [NYT::NFlow::EFetchType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EFetchType)
**Значение по умолчанию**: `table_reader`
Важный параметр, влияет на характер нагрузки на YT, см. описание EFetchType. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TTableFetcherSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TTableJoinerSpec.md -->
## NYT::NFlow::TTableJoinerSpec {#NYT_NFlow_TTableJoinerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/connectors/servicelog/joiner.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/connectors/servicelog/joiner.h)

#|
|| **Параметр** | **Описание** ||
|| `fetchers` | **Тип**: `std::vector<NYT::TIntrusivePtr<`[NYT::NFlow::TFetcherInJoinerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TFetcherInJoinerSpec)`>>`
**Значение по умолчанию**: `[]`
Спеки фетчеров. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TTableJoinerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TTimerSerializer.md -->
## NYT::NFlow::TTimerSerializer {#NYT_NFlow_TTimerSerializer}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/timer-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/timer-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `message_id` | **Тип**: `NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TMessageIdTag>`
**Обязательный параметр**
Уникальный id таймера. ||
|| `system_timestamp` | **Тип**: `NYT::TStrongTypedef<unsigned long, NYT::NFlow::TSystemTimestampTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Timestamp создания таймера. ||
|| `event_timestamp` | **Тип**: `NYT::TStrongTypedef<unsigned long, NYT::NFlow::TSystemTimestampTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Timestamp реального события, ассоциированного с данным таймером. ||
|| `stream_id` | **Тип**: `NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>`
**Обязательный параметр**
Поток, в рамках которого существует данное сообщение. ||
|| `key` | **Тип**: `NYT::TStrongTypedef<NYT::NFlow::TCompactUnversionedOwningRow, NYT::NFlow::TKeyTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Ключ таймера. ||
|| `key_schema` | **Тип**: `NYT::TIntrusivePtr<NYT::NTableClient::TTableSchema>`
**Обязательный параметр**
Схема ключа, совпадает с `group_by_schema` соответствующего `Computation`. ||
|| `trigger_timestamp` | **Тип**: `NYT::TStrongTypedef<unsigned long, NYT::NFlow::TSystemTimestampTag, NYT::TStrongTypedefOptions{true}>`
**Обязательный параметр**
Время для срабатывания таймера. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TTimerSerializer.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TTimerSpec.md -->
## NYT::NFlow::TTimerSpec {#NYT_NFlow_TTimerSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `time_type` | **Тип**: [NYT::NFlow::ETimeType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_ETimeType)
**Значение по умолчанию**: `event_time`
Используемый таймером тип времени: `event_time`, `system_time`, `real_time` ||
|| `streams` | **Тип**: `std::optional<THashSet<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>>>`
Перечисление потоков, за которыми таймер следит. ||
|| `streams_with_delays` | **Тип**: `std::optional<THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, `[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>>`
Перечисление потоков, за которыми таймер следит с указанием индивидуальной задержки ||
|| `deduplicate_equal_timestamps` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Включение логики дедупликации таймеров: при попытке создания таймера с тем же ключом и `trigger_timestamp`, останется только один, с меньшим значением `EventTimestamp` ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TTimerSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnavailablePartitionGroupsSpec.md -->
## NYT::NFlow::TUnavailablePartitionGroupsSpec {#NYT_NFlow_TUnavailablePartitionGroupsSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

**В структуре нет основных параметров.**
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnavailablePartitionGroupsSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TSwiftMapCompanionComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NCompanion::TSwiftMapCompanionComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TSwiftMapCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `allow_batching_with_relaxed_guarantees` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Разрешает склейку нескольких входных сообщений в одно выходное (батчинг). Полезно для свёртки множества мелких сообщений в одно более крупное, чтобы снизить нагрузку по числу сообщений на партицию ниже по конвейеру. По умолчанию `%false`: каждое выходное сообщение порождается ровно одним родителем, `MessageId` детерминированно наследуется от родителя, что даёт exactly-once при детерминированных пользовательских функциях. При `%true` выходное сообщение может иметь несколько родителей; один родитель считается обработанным, только когда обработаны все его дети. На повторных запусках границы склейки могут отличаться, поэтому один и тот же родитель может попасть в несколько разных склеенных детей — нижестоящие вычисления должны быть готовы видеть содержимое каждого родителя более одного раза (семантика at-least-once). Кроме того, склеенные выходные сообщения получают `MessageId`, детерминированно выведенный из набора `MessageId` родителей: реплей той же склейки даёт тот же `MessageId` и дедуплицируется, склейка другого состава — новый. Это значит, что порядок сообщений по `MessageId` в рамках одного ключа на стороне нижестоящих `Computation` может нарушаться: если последующие звенья пайплайна полагаются на упорядоченность по `MessageId` внутри ключа, такую логику нужно переписать с учётом этого. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TSwiftMapCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TSwiftOrderedSourceCompanionComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NCompanion::TSwiftOrderedSourceCompanionComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TSwiftOrderedSourceCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

**В структуре нет основных параметров.**
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TSwiftOrderedSourceCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TTransformCompanionComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NCompanion::TTransformCompanionComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TTransformCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `processing_mode` | **Тип**: [NYT::NFlow::EProcessingMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EProcessingMode)
**Значение по умолчанию**: `exactly_once`
 ||
|| `internal_states` | **Тип**: `std::optional<THashSet<std::string>>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TTransformCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TTransformOrderedSourceCompanionComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NCompanion::TTransformOrderedSourceCompanionComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TTransformOrderedSourceCompanionComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `internal_states` | **Тип**: `std::optional<THashSet<std::string>>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NCompanion_TTransformOrderedSourceCompanionComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NSortedDynamicTable_TAsyncSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NSortedDynamicTable::TAsyncSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NSortedDynamicTable_TAsyncSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `table_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь к целевой сортированной динамической таблице с указанием кластера. ||
|| `column_filter` | **Тип**: `std::optional<THashSet<std::string>>`
Какие колонки из сообщения писать в таблицу (по умолчанию &mdash; все). При использовании параметра `delete_rows` необходимо указать ключевые колонки целевой таблицы, иначе удаления будут падать. ||
|| `aggregate_columns` | **Тип**: `std::optional<THashSet<std::string>>`
Агрегатные записи не поддерживаются: параметр должен быть не указан или содержать пустой список. Асинхронная запись может повторить уже закоммиченный батч после восстановления, поэтому неидемпотентная агрегация небезопасна. ||
|| `delete_rows` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Если установлено в `true`, то вместо вставки строк будет выполняться их удаление. В этом режиме важно, чтобы в `column_filter` были выбраны ключевые колонки целевой таблицы. ||
|| `require_sync_replica` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Если установлено в `false`, то при записи строк в целевую таблицу не проверяется наличие синхронной реплики. По умолчанию значение `true` - проверка происходит. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_partition_count_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Как часто контроллеру обновлять число таблетов в таблице (контроллер соответственно меняет число каналов получателя). Для chaos replicated table контроллер использует enabled data replica с лексикографически минимальным replica id; текущий режим sync/async не влияет на выбор. Reshard этой реплики может изменить число каналов получателя. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NSortedDynamicTable_TAsyncSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NSortedDynamicTable_TSyncSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NSortedDynamicTable::TSyncSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NSortedDynamicTable_TSyncSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `table_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь к целевой сортированной динамической таблице с указанием кластера. ||
|| `column_filter` | **Тип**: `std::optional<THashSet<std::string>>`
Какие колонки из сообщения писать в таблицу (по умолчанию &mdash; все). При использовании параметра `delete_rows` необходимо указать ключевые колонки целевой таблицы, иначе удаления будут падать. ||
|| `aggregate_columns` | **Тип**: `std::optional<THashSet<std::string>>`
Список колонок, для которых при записи учитывается функция агрегации. По умолчанию происходит перезапись значения в колонке. ||
|| `delete_rows` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Если установлено в `true`, то вместо вставки строк будет выполняться их удаление. В этом режиме важно, чтобы в `column_filter` были выбраны ключевые колонки целевой таблицы.

{% note info %}

Sink может или работать в режиме вставки, или удаления, но не одновременно. Если вам нужен функционал и вставки, и удаления, то используйте StateManager.

{% endnote %} ||
|| `require_sync_replica` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Если установлено в `false`, то при записи строк в целевую таблицу не проверяется наличие синхронной реплики. По умолчанию значение `true` - проверка происходит. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_partition_count_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Как часто контроллеру обновлять число таблетов в таблице (контроллер соответственно меняет число каналов получателя). Для chaos replicated table контроллер использует enabled data replica с лексикографически минимальным replica id; текущий режим sync/async не влияет на выбор. Reshard этой реплики может изменить число каналов получателя. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NSortedDynamicTable_TSyncSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnector_TArrivalOrderTableSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NStaticTableConnector::TArrivalOrderTableSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnector_TArrivalOrderTableSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `output_directory` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Директория для выходных статических таблиц. В её атрибуте `@progress` хранится прогресс доставки: владелец `(pipeline, computation, sink id)`, общая последовательность таблиц и frontier каждой партиции. Каждому синку нужна собственная директория: если владелец чужой, синк падает и просит удалить атрибут вручную. ||
|| `table_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Шаг непрерывной сетки таблиц. Пустая таблица для шага `T` создаётся без пропуска, только когда системный watermark входного потока известен и строго больше `T + table_period`. Пустые таблицы в будущем не создаются. ||
|| `table_ttl` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Обязательный параметр**
Время жизни выходной таблицы: она удаляется через `table_ttl` после своего `table_timestamp` (через Cypress `expiration_time`). Отношение `table_ttl / table_period` ограничено 40000 из-за лимита Cypress на число детей директории. ||
|| `table_name_format` | **Тип**: `std::string`
**Значение по умолчанию**: `%Y-%m-%dT%H:%M:%SZ`
Формат UTC-таймстемпа в имени таблицы. Обязан кодировать таймстемп без потерь (валидируется по round-trip), иначе имена разных слотов совпали бы. ||
|| `data_weight_column` | **Тип**: `std::optional<std::string>`
Опциональная колонка с пользовательским весом сообщения для лимита `max_data_weight` (тип `int64` или `uint64`, неотрицательные значения). Без неё, а также при `null` в ней, весом считается размер сообщения. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnector_TArrivalOrderTableSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnector_TSource.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NStaticTableConnector::TSource&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnector_TSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `finite` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Считать source конечным, то есть запомнить число сообщений в нём при старте и перевести stream в состояние completed при вычитывании этого числа сообщений. ||
|| `tables` | **Тип**: `std::optional<std::vector<NYT::NYPath::TRichYPath>>`
Список таблиц для чтения с указанием кластеров. Этот параметр альтернативен `tables_path`. Каждый элемент должен быть таблицей: симлинк не разыменовывается до целевой таблицы, а любой нетабличный узел приводит к ошибке. ||
|| `tables_path` | **Тип**: `std::optional<NYT::NYPath::TRichYPath>`
Путь до директории со статическими таблицами с указанием одного кластера или упорядоченного списка кластеров-реплик. Этот параметр альтернативен `tables`. ||
|| `table_name_filter` | **Тип**: `NYT::TIntrusivePtr<NYT::NRe2::TRe2>`
Регулярное выражение для фильтрации таблиц по имени: читаются только те таблицы, имя которых совпадает с выражением. Синтаксис выражений &mdash; [RE2](https://github.com/google/re2/wiki/Syntax). ||
|| `event_timestamp_locator` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec)`>`
**Значение по умолчанию**: `{'attribute': 'key'}`
По умолчанию берёт таймстемп из имени таблицы. Это время соответствует времени создания данных, оно будет проброшено в EventTimestamp сообщений. Таблицы с одинаковым таймстемпом упорядочиваются персистентно; новые таблицы не должны появляться позади уже обработанного event-time frontier. ||
|| `system_timestamp_locator` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec)`>`
**Значение по умолчанию**: `{'attribute': 'creation_time'}`
По умолчанию берёт таймстемп из времени создания таблицы. Это время соответствует времени записи данных в сорс. То есть моменту, когда пайплайн может увидеть эти данные и начать читать. Это время пробрасывается в SystemTimestamp сообщений. ||
|| `use_planned_timestamps` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Использовать сохранённое плановое время начала чтения диапазона для обоих timestamps входных сообщений. План фиксируется при запуске таблицы контроллером и сохраняется при рестартах и изменении лимитов скорости. Локаторы timestamps по-прежнему определяют обнаружение и порядок таблиц. По умолчанию режим выключен. ||
|| `ignore_symlinks` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Флаг, который позволяет игнорировать симлинки внутри папки с таблицами. ||
|| `skip_non_table_nodes` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Пропускать нетабличные узлы во входной директории вместо ошибки. ||
|| `idle_watermark_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `3600000`
Задержка продвижения ватермарка от текущего времени, когда source не читает таблицу. Ватермарк читаемой таблицы сразу продвигается до её event timestamp без вычитания задержки. Значение `#` отключает продвижение от текущего времени; новые таблицы при этом продолжают продвигать ватермарк. ||
|| `failover_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Для реплицированного входа — время недоступности активного кластера до переключения текущей таблицы. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_info_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии. ||
|| `byte_size_alpha` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnector_TSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnectorV2_TSource.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::NStaticTableConnectorV2::TSource&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnectorV2_TSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `finite` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Считать source конечным, то есть запомнить число сообщений в нём при старте и перевести stream в состояние completed при вычитывании этого числа сообщений. ||
|| `tables` | **Тип**: `std::optional<std::vector<NYT::NYPath::TRichYPath>>`
Список таблиц для чтения с указанием кластеров. Этот параметр альтернативен `tables_path`. Каждый элемент должен быть таблицей: симлинк не разыменовывается до целевой таблицы, а любой нетабличный узел приводит к ошибке. ||
|| `tables_path` | **Тип**: `std::optional<NYT::NYPath::TRichYPath>`
Путь до директории со статическими таблицами с указанием одного кластера или упорядоченного списка кластеров-реплик. Этот параметр альтернативен `tables`. ||
|| `table_name_filter` | **Тип**: `NYT::TIntrusivePtr<NYT::NRe2::TRe2>`
Регулярное выражение для фильтрации таблиц по имени: читаются только те таблицы, имя которых совпадает с выражением. Синтаксис выражений &mdash; [RE2](https://github.com/google/re2/wiki/Syntax). ||
|| `event_timestamp_locator` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec)`>`
**Значение по умолчанию**: `{'attribute': 'key'}`
По умолчанию берёт таймстемп из имени таблицы. Это время соответствует времени создания данных, оно будет проброшено в EventTimestamp сообщений. Таблицы с одинаковым таймстемпом упорядочиваются персистентно; новые таблицы не должны появляться позади уже обработанного event-time frontier. ||
|| `system_timestamp_locator` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_NStaticTableConnector_TTableTimestampLocatorSpec)`>`
**Значение по умолчанию**: `{'attribute': 'creation_time'}`
По умолчанию берёт таймстемп из времени создания таблицы. Это время соответствует времени записи данных в сорс. То есть моменту, когда пайплайн может увидеть эти данные и начать читать. Это время пробрасывается в SystemTimestamp сообщений. ||
|| `use_planned_timestamps` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Использовать сохранённое плановое время начала чтения диапазона для обоих timestamps входных сообщений. План фиксируется при запуске таблицы контроллером и сохраняется при рестартах и изменении лимитов скорости. Локаторы timestamps по-прежнему определяют обнаружение и порядок таблиц. По умолчанию режим выключен. ||
|| `ignore_symlinks` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Флаг, который позволяет игнорировать симлинки внутри папки с таблицами. ||
|| `skip_non_table_nodes` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Пропускать нетабличные узлы во входной директории вместо ошибки. ||
|| `idle_watermark_delay` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `3600000`
Задержка продвижения ватермарка от текущего времени, когда source не читает таблицу. Ватермарк читаемой таблицы сразу продвигается до её event timestamp без вычитания задержки. Значение `#` отключает продвижение от текущего времени; новые таблицы при этом продолжают продвигать ватермарк. ||
|| `failover_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Для реплицированного входа — время недоступности активного кластера до переключения текущей таблицы. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_info_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии. ||
|| `byte_size_alpha` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_NStaticTableConnectorV2_TSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncHttpSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TAsyncHttpSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncHttpSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyParameters)`>`
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора. ||
|| `url` | **Тип**: `std::string`
**Обязательный параметр**
Целевой HTTP- или HTTPS-адрес. URL должен содержать имя хоста. ||
|| `payload_column` | **Тип**: `std::string`
**Обязательный параметр**
Имя колонки с телом запроса. Во входном потоке должна быть ровно одна String-колонка с этим именем. Значение не null побайтно и без изменений становится телом запроса: это может быть protobuf, YSON, JSON или произвольная последовательность байтов в значении типа String. Значение null подтверждается и пропускается без HTTP-запроса. ||
|| `headers` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
Статические заголовки HTTP-запроса. Имена должны быть корректными HTTP-токенами. Если получатель определяет формат непрозрачного тела по `Content-Type`, задайте этот заголовок здесь. Значения хранятся в Spec пайплайна в Cypress и доступны пользователям и сервисам с правом чтения Spec, в том числе в дампах спеки. Безопасного механизма для секретных заголовков пока нет. Не помещайте сюда OAuth-токены, API-токены и другие секреты. Не используйте этот синк с эндпоинтами, которым нужны секретные заголовки, если безопасность не обеспечена контролем доступа и внешним механизмом. ||
|| `idempotency_header` | **Тип**: `std::string`
**Значение по умолчанию**: `Idempotency-Key`
Имя заголовка с идентификатором сообщения. Значение равно шестнадцатеричному представлению стабильного идентификатора сообщения Flow и не меняется при повторах и повторной отправке. По умолчанию используется `Idempotency-Key`. Другое корректное имя переименовывает заголовок, а пустая строка отключает его. Статический заголовок с тем же именем не допускается. ||
|| `keep_alive` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Разрешает повторно использовать HTTP-соединения. Каждый настроенный HTTP-синк в каждой активной джобе партиции владеет отдельными экземпляром синка, клиентом и пулом простаивающих соединений. Если параметр выключен, пул не сохраняет соединения независимо от `max_idle_connections`. ||
|| `max_redirect_count` | **Тип**: `int`
**Значение по умолчанию**: `0`
Максимальное число HTTP-перенаправлений во всех попытках одной доставки с сохранением метода POST, тела и заголовков. Значение по умолчанию — ноль, поэтому переходы включаются только явно. Доверяйте всем возможным адресатам. ||
|| `max_idle_connections` | **Тип**: `int`
**Значение по умолчанию**: `8`
Максимальное число простаивающих соединений в пуле каждого HTTP- или HTTPS-клиента настроенного синка и активной джобы партиции, когда включён `keep_alive`. Значение по умолчанию — восемь на клиент, поэтому синк, следующий перенаправлениям через обе схемы, может сохранять до удвоенного числа соединений. Партиции ordered-source соответствует один ключ сорса, поэтому дополнительного множителя по числу ключей нет. Если несколько синков обращаются к одному эндпоинту, рассчитывайте его ёмкость как сумму по всем настроенным синкам и активным джобам партиций. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncHttpSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncMultiClusterQueueSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TAsyncMultiClusterQueueSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncMultiClusterQueueSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `queue_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до очереди с указанием кластера. ||
|| `write_flow_queue_meta` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Нужно ли писать мету в очередь (в мете пишутся ватермарки). ||
|| `flow_queue_meta_column` | **Тип**: `std::string`
**Значение по умолчанию**: `flow_queue_meta`
В какую колонку писать мету. ||
|| `producer_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до продюсера очереди с указанием кластера. ||
|| `require_sync_replica` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Одноименный параметр при записи в очередь. Разрешена ли запись в очередь без синхронных реплик. ||
|| `tablet_index_expression` | **Тип**: `std::optional<std::string>`
Verbatim-режим маршрутизации. QL-выражение (только встроенные функции, например `farm_hash`) над колонками сообщения, значение которого пишется в системную колонку `$tablet_index` как есть. Взаимоисключающе с `tablet_index_routing_hash_expression`; если не задано ни одно из двух выражений &mdash; маршрутизация выключена (`$tablet_index` не пишется, таблет выбирает драйвер). Шардированные очереди неудобны в эксплуатации (жёсткая связность object&rarr;таблет, решардирование переразбивает ключи), поэтому включайте маршрутизацию только при реальной необходимости. Маршрутизация поддерживается только для синхронных queue-синков; асинхронные синки отвергают параметры маршрутизации при загрузке спеки (YTFLOW-766). ||
|| `tablet_index_routing_hash_expression` | **Тип**: `std::optional<std::string>`
Hash-режим маршрутизации. QL-выражение (только встроенные функции, например `farm_hash`), вычисляющее `uint64`-хеш, который сводится к индексу таблета по `tablet_index_routing_hash_policy` над `tablet_count`. Взаимоисключающе с `tablet_index_expression`. Поддерживается только для синхронных queue-синков; асинхронные синки отвергают параметры маршрутизации (YTFLOW-766). ||
|| `tablet_index_routing_hash_policy` | **Тип**: `std::optional<`[NYT::NFlow::EQueueTabletIndexRoutingHashPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EQueueTabletIndexRoutingHashPolicy)`>`
Политика сведения хеша `tablet_index_routing_hash_expression` к индексу таблета. Обязателен вместе с ним. `range` &mdash; непрерывные равноширокие диапазоны хеша (rangeSize = 2^64 / tablet_count), рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. `modulo` &mdash; `hash % tablet_count`; не рекомендуется: `Computation`-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении). ||
|| `tablet_count` | **Тип**: `std::optional<long>`
Число таблетов для сведения `tablet_index_routing_hash_expression` к индексу таблета. Необязателен. Если не задан, синк периодически перечитывает `@tablet_count` целевой очереди (из кэша мастера) и подхватывает решардирование без рестарта. Если задан явно &mdash; значение фиксировано, запросов в очередь нет, а решардирование учитывается только при изменении конфигурации. ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyParameters)`>`
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора. ||
|| `column_filter` | **Тип**: `std::optional<THashSet<std::string>>`
Какие колонки из сообщения писать в очередь (по умолчанию &mdash; все). ||
|| `use_clusters` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Использовать ли `<clusters=[...]>` вместо `<cluster=...>` из rich path в producer и queue ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_partition_count_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди). ||
|| `update_partition_count_retry_min_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается `update_partition_count_period`; последующие задержки растут экспоненциально. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncMultiClusterQueueSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncQueueSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TAsyncQueueSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncQueueSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `queue_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до очереди с указанием кластера. ||
|| `write_flow_queue_meta` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Нужно ли писать мету в очередь (в мете пишутся ватермарки). ||
|| `flow_queue_meta_column` | **Тип**: `std::string`
**Значение по умолчанию**: `flow_queue_meta`
В какую колонку писать мету. ||
|| `producer_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до продюсера очереди с указанием кластера. ||
|| `require_sync_replica` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Одноименный параметр при записи в очередь. Разрешена ли запись в очередь без синхронных реплик. ||
|| `tablet_index_expression` | **Тип**: `std::optional<std::string>`
Verbatim-режим маршрутизации. QL-выражение (только встроенные функции, например `farm_hash`) над колонками сообщения, значение которого пишется в системную колонку `$tablet_index` как есть. Взаимоисключающе с `tablet_index_routing_hash_expression`; если не задано ни одно из двух выражений &mdash; маршрутизация выключена (`$tablet_index` не пишется, таблет выбирает драйвер). Шардированные очереди неудобны в эксплуатации (жёсткая связность object&rarr;таблет, решардирование переразбивает ключи), поэтому включайте маршрутизацию только при реальной необходимости. Маршрутизация поддерживается только для синхронных queue-синков; асинхронные синки отвергают параметры маршрутизации при загрузке спеки (YTFLOW-766). ||
|| `tablet_index_routing_hash_expression` | **Тип**: `std::optional<std::string>`
Hash-режим маршрутизации. QL-выражение (только встроенные функции, например `farm_hash`), вычисляющее `uint64`-хеш, который сводится к индексу таблета по `tablet_index_routing_hash_policy` над `tablet_count`. Взаимоисключающе с `tablet_index_expression`. Поддерживается только для синхронных queue-синков; асинхронные синки отвергают параметры маршрутизации (YTFLOW-766). ||
|| `tablet_index_routing_hash_policy` | **Тип**: `std::optional<`[NYT::NFlow::EQueueTabletIndexRoutingHashPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EQueueTabletIndexRoutingHashPolicy)`>`
Политика сведения хеша `tablet_index_routing_hash_expression` к индексу таблета. Обязателен вместе с ним. `range` &mdash; непрерывные равноширокие диапазоны хеша (rangeSize = 2^64 / tablet_count), рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. `modulo` &mdash; `hash % tablet_count`; не рекомендуется: `Computation`-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении). ||
|| `tablet_count` | **Тип**: `std::optional<long>`
Число таблетов для сведения `tablet_index_routing_hash_expression` к индексу таблета. Необязателен. Если не задан, синк периодически перечитывает `@tablet_count` целевой очереди (из кэша мастера) и подхватывает решардирование без рестарта. Если задан явно &mdash; значение фиксировано, запросов в очередь нет, а решардирование учитывается только при изменении конфигурации. ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyParameters)`>`
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора. ||
|| `column_filter` | **Тип**: `std::optional<THashSet<std::string>>`
Какие колонки из сообщения писать в очередь (по умолчанию &mdash; все). ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_partition_count_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди). ||
|| `update_partition_count_retry_min_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается `update_partition_count_period`; последующие задержки растут экспоненциально. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAsyncQueueSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAtLeastOnceClickHouseSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TAtLeastOnceClickHouseSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TAtLeastOnceClickHouseSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `host` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Единственный хост ClickHouse в нешардированной форме. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `hosts` и `shard_hosts`: ровно одна из трёх форм задания хостов должна присутствовать в спеке. Хост должен быть доступен и предоставлять таблицу с допустимым движком и полной упорядоченной схемой `(name, type, default_kind, default_expression)`. ||
|| `port` | **Тип**: `unsigned short`
**Значение по умолчанию**: `9000`
Нативный TCP-порт. Общий для всех шардов. ||
|| `hosts` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Плоский список хостов одной нешардированной таблицы, все с общим `port`. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `host` и `shard_hosts`. Все хосты должны быть доступны и совпадать по движку и полной упорядоченной схеме `(name, type, default_kind, default_expression)`. Для `Replicated*MergeTree` должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Список из одного элемента отвергается — используйте `host`. ||
|| `host_selection_policy` | **Тип**: [NYT::NFlow::EClickHouseHostSelectionPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseHostSelectionPolicy)
**Значение по умолчанию**: `ordered_round_robin`
Порядок выбора хостов внутри каждого шарда. `ordered_round_robin` сохраняет порядок из спеки и используется по умолчанию. `random_start` один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии. ||
|| `shard_hosts` | **Тип**: `THashMap<std::string, std::vector<std::string>>`
**Значение по умолчанию**: `{}`
Словарь «имя шарда → список хостов этого шарда» для [многошардовой формы](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding). Обязателен для `TShardedClickHouseBatchingSink` и отвергается `TClickHouseBatchingSink`; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема `(name, type, default_kind, default_expression)`; схемы разных шардов также должны совпадать. У реплик должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, `_` и `-`; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации. ||
|| `sharding_key_columns` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Колонки, по значениям которых считается [ключ маршрутизации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding-key). Требует `shard_hosts`: в нешардированных формах параметр отвергается при валидации спеки. Пустой список означает маршрутизацию по идентификатору сообщения, то есть без ко-локации. ||
|| `user` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
Пользователь ClickHouse. ||
|| `password_env_var` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Имя переменной окружения с паролем; разрешается через `GetEnv` при создании клиента. Пустое значение — подключение без пароля. ||
|| `database` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
База данных целевой таблицы. Общая для всех шардов. ||
|| `table` | **Тип**: `std::string`
**Обязательный параметр**
Целевая таблица. Общая для всех шардов, поэтому `<database>.<table>` должна существовать на каждом хосте каждого шарда. ||
|| `codec` | **Тип**: [NYT::NFlow::EClickHouseCodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseCodec)
**Значение по умолчанию**: `lz4`
Сжатие нативного протокола. ||
|| `enable_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Подключаться по TCP+TLS вместо обычного TCP. Порт при этом не меняется: укажите в `port` защищённый нативный порт сервера (обычно `9440`). ||
|| `tls_ca_files` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Список путей к файлам корневых сертификатов (CA) для проверки сертификата сервера. Пустой список допустим при выключенном TLS; при включённом TLS он означает использование системных корневых сертификатов. Непустой список требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_ca_directory` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Путь к директории с корневыми сертификатами (CA) для проверки сертификата сервера. Пустое значение допустимо при выключенном TLS. Непустой путь требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_skip_verification` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Пропускать проверку TLS-сессии (сертификат сервера и т. д.). **Небезопасно**, использовать только для тестовых окружений с самоподписанными сертификатами. Значение `true` требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. Значение `false` допустимо при выключенном TLS. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAtLeastOnceClickHouseSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAtMostOnceClickHouseSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TAtMostOnceClickHouseSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TAtMostOnceClickHouseSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `host` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Единственный хост ClickHouse в нешардированной форме. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `hosts` и `shard_hosts`: ровно одна из трёх форм задания хостов должна присутствовать в спеке. Хост должен быть доступен и предоставлять таблицу с допустимым движком и полной упорядоченной схемой `(name, type, default_kind, default_expression)`. ||
|| `port` | **Тип**: `unsigned short`
**Значение по умолчанию**: `9000`
Нативный TCP-порт. Общий для всех шардов. ||
|| `hosts` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Плоский список хостов одной нешардированной таблицы, все с общим `port`. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `host` и `shard_hosts`. Все хосты должны быть доступны и совпадать по движку и полной упорядоченной схеме `(name, type, default_kind, default_expression)`. Для `Replicated*MergeTree` должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Список из одного элемента отвергается — используйте `host`. ||
|| `host_selection_policy` | **Тип**: [NYT::NFlow::EClickHouseHostSelectionPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseHostSelectionPolicy)
**Значение по умолчанию**: `ordered_round_robin`
Порядок выбора хостов внутри каждого шарда. `ordered_round_robin` сохраняет порядок из спеки и используется по умолчанию. `random_start` один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии. ||
|| `shard_hosts` | **Тип**: `THashMap<std::string, std::vector<std::string>>`
**Значение по умолчанию**: `{}`
Словарь «имя шарда → список хостов этого шарда» для [многошардовой формы](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding). Обязателен для `TShardedClickHouseBatchingSink` и отвергается `TClickHouseBatchingSink`; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема `(name, type, default_kind, default_expression)`; схемы разных шардов также должны совпадать. У реплик должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, `_` и `-`; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации. ||
|| `sharding_key_columns` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Колонки, по значениям которых считается [ключ маршрутизации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding-key). Требует `shard_hosts`: в нешардированных формах параметр отвергается при валидации спеки. Пустой список означает маршрутизацию по идентификатору сообщения, то есть без ко-локации. ||
|| `user` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
Пользователь ClickHouse. ||
|| `password_env_var` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Имя переменной окружения с паролем; разрешается через `GetEnv` при создании клиента. Пустое значение — подключение без пароля. ||
|| `database` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
База данных целевой таблицы. Общая для всех шардов. ||
|| `table` | **Тип**: `std::string`
**Обязательный параметр**
Целевая таблица. Общая для всех шардов, поэтому `<database>.<table>` должна существовать на каждом хосте каждого шарда. ||
|| `codec` | **Тип**: [NYT::NFlow::EClickHouseCodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseCodec)
**Значение по умолчанию**: `lz4`
Сжатие нативного протокола. ||
|| `enable_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Подключаться по TCP+TLS вместо обычного TCP. Порт при этом не меняется: укажите в `port` защищённый нативный порт сервера (обычно `9440`). ||
|| `tls_ca_files` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Список путей к файлам корневых сертификатов (CA) для проверки сертификата сервера. Пустой список допустим при выключенном TLS; при включённом TLS он означает использование системных корневых сертификатов. Непустой список требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_ca_directory` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Путь к директории с корневыми сертификатами (CA) для проверки сертификата сервера. Пустое значение допустимо при выключенном TLS. Непустой путь требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_skip_verification` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Пропускать проверку TLS-сессии (сертификат сервера и т. д.). **Небезопасно**, использовать только для тестовых окружений с самоподписанными сертификатами. Значение `true` требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. Значение `false` допустимо при выключенном TLS. ||
|| `at_most_once_strategy` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TAtMostOnceStrategyParameters](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TAtMostOnceStrategyParameters)`>`
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TAtMostOnceClickHouseSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TClickHouseBatchingSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TClickHouseBatchingSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TClickHouseBatchingSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `host` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Единственный хост ClickHouse в нешардированной форме. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `hosts` и `shard_hosts`: ровно одна из трёх форм задания хостов должна присутствовать в спеке. Хост должен быть доступен и предоставлять таблицу с допустимым движком и полной упорядоченной схемой `(name, type, default_kind, default_expression)`. ||
|| `port` | **Тип**: `unsigned short`
**Значение по умолчанию**: `9000`
Нативный TCP-порт. Общий для всех шардов. ||
|| `hosts` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Плоский список хостов одной нешардированной таблицы, все с общим `port`. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `host` и `shard_hosts`. Все хосты должны быть доступны и совпадать по движку и полной упорядоченной схеме `(name, type, default_kind, default_expression)`. Для `Replicated*MergeTree` должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Список из одного элемента отвергается — используйте `host`. ||
|| `host_selection_policy` | **Тип**: [NYT::NFlow::EClickHouseHostSelectionPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseHostSelectionPolicy)
**Значение по умолчанию**: `ordered_round_robin`
Порядок выбора хостов внутри каждого шарда. `ordered_round_robin` сохраняет порядок из спеки и используется по умолчанию. `random_start` один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии. ||
|| `shard_hosts` | **Тип**: `THashMap<std::string, std::vector<std::string>>`
**Значение по умолчанию**: `{}`
Словарь «имя шарда → список хостов этого шарда» для [многошардовой формы](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding). Обязателен для `TShardedClickHouseBatchingSink` и отвергается `TClickHouseBatchingSink`; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема `(name, type, default_kind, default_expression)`; схемы разных шардов также должны совпадать. У реплик должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, `_` и `-`; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации. ||
|| `sharding_key_columns` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Колонки, по значениям которых считается [ключ маршрутизации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding-key). Требует `shard_hosts`: в нешардированных формах параметр отвергается при валидации спеки. Пустой список означает маршрутизацию по идентификатору сообщения, то есть без ко-локации. ||
|| `user` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
Пользователь ClickHouse. ||
|| `password_env_var` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Имя переменной окружения с паролем; разрешается через `GetEnv` при создании клиента. Пустое значение — подключение без пароля. ||
|| `database` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
База данных целевой таблицы. Общая для всех шардов. ||
|| `table` | **Тип**: `std::string`
**Обязательный параметр**
Целевая таблица. Общая для всех шардов, поэтому `<database>.<table>` должна существовать на каждом хосте каждого шарда. ||
|| `codec` | **Тип**: [NYT::NFlow::EClickHouseCodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseCodec)
**Значение по умолчанию**: `lz4`
Сжатие нативного протокола. ||
|| `enable_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Подключаться по TCP+TLS вместо обычного TCP. Порт при этом не меняется: укажите в `port` защищённый нативный порт сервера (обычно `9440`). ||
|| `tls_ca_files` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Список путей к файлам корневых сертификатов (CA) для проверки сертификата сервера. Пустой список допустим при выключенном TLS; при включённом TLS он означает использование системных корневых сертификатов. Непустой список требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_ca_directory` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Путь к директории с корневыми сертификатами (CA) для проверки сертификата сервера. Пустое значение допустимо при выключенном TLS. Непустой путь требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_skip_verification` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Пропускать проверку TLS-сессии (сертификат сервера и т. д.). **Небезопасно**, использовать только для тестовых окружений с самоподписанными сертификатами. Значение `true` требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. Значение `false` допустимо при выключенном TLS. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TClickHouseBatchingSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TPassthroughComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TPassthroughComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TPassthroughComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `processing_mode` | **Тип**: [NYT::NFlow::EProcessingMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EProcessingMode)
**Значение по умолчанию**: `exactly_once`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TPassthroughComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TQueueSource.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TQueueSource&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TQueueSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `finite` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Считать source конечным, то есть запомнить число сообщений в нём при старте и перевести stream в состояние completed при вычитывании этого числа сообщений. ||
|| `queue_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до очереди с указанием кластера. ||
|| `consumer_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до консьюмера очереди с указанием кластера. ||
|| `try_parse_flow_queue_meta` | **Тип**: `bool`
**Значение по умолчанию**: `true`
Нужно ли брать и парсить мету из очереди (в мете лежат ватермарки предоставленные писателем в очередь). ||
|| `flow_queue_meta_column` | **Тип**: `std::string`
**Значение по умолчанию**: `flow_queue_meta`
Из какой колонки брать мету. ||
|| `ignore_malformed_flow_queue_meta` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Игнорировать невалидную мету или падать. ||
|| `partition_filter` | **Тип**: `std::optional<std::vector<std::pair<int, int>>>`
 ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_info_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии. ||
|| `byte_size_alpha` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные. ||
|| `update_partition_count_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди). ||
|| `update_partition_count_retry_min_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается `update_partition_count_period`; последующие задержки растут экспоненциально. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TQueueSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TRandomSource.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TRandomSource&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TRandomSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `finite` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Считать source конечным, то есть запомнить число сообщений в нём при старте и перевести stream в состояние completed при вычитывании этого числа сообщений. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_info_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии. ||
|| `byte_size_alpha` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TRandomSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TServiceLogSource.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TServiceLogSource&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TServiceLogSource}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `finite` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Считать source конечным, то есть запомнить число сообщений в нём при старте и перевести stream в состояние completed при вычитывании этого числа сообщений. ||
|| `table_joiner` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TTableJoinerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TTableJoinerSpec)`>`
**Значение по умолчанию**: `{}`
Спека джойнера. ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_info_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии. ||
|| `byte_size_alpha` | **Тип**: `double`
**Значение по умолчанию**: `0.05`
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TServiceLogSource.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TShardedClickHouseBatchingSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TShardedClickHouseBatchingSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TShardedClickHouseBatchingSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `host` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Единственный хост ClickHouse в нешардированной форме. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `hosts` и `shard_hosts`: ровно одна из трёх форм задания хостов должна присутствовать в спеке. Хост должен быть доступен и предоставлять таблицу с допустимым движком и полной упорядоченной схемой `(name, type, default_kind, default_expression)`. ||
|| `port` | **Тип**: `unsigned short`
**Значение по умолчанию**: `9000`
Нативный TCP-порт. Общий для всех шардов. ||
|| `hosts` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Плоский список хостов одной нешардированной таблицы, все с общим `port`. Для exactly-once эта форма используется с `TClickHouseBatchingSink`. Обязателен, если не заданы `host` и `shard_hosts`. Все хосты должны быть доступны и совпадать по движку и полной упорядоченной схеме `(name, type, default_kind, default_expression)`. Для `Replicated*MergeTree` должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Список из одного элемента отвергается — используйте `host`. ||
|| `host_selection_policy` | **Тип**: [NYT::NFlow::EClickHouseHostSelectionPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseHostSelectionPolicy)
**Значение по умолчанию**: `ordered_round_robin`
Порядок выбора хостов внутри каждого шарда. `ordered_round_robin` сохраняет порядок из спеки и используется по умолчанию. `random_start` один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии. ||
|| `shard_hosts` | **Тип**: `THashMap<std::string, std::vector<std::string>>`
**Значение по умолчанию**: `{}`
Словарь «имя шарда → список хостов этого шарда» для [многошардовой формы](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding). Обязателен для `TShardedClickHouseBatchingSink` и отвергается `TClickHouseBatchingSink`; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема `(name, type, default_kind, default_expression)`; схемы разных шардов также должны совпадать. У реплик должны совпадать `zookeeper_name` и `zookeeper_path`, а `replica_name` может различаться. Несколько хостов с обычным `MergeTree` или `SharedMergeTree` отвергаются; однохостовый `SharedMergeTree` поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, `_` и `-`; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации. ||
|| `sharding_key_columns` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Колонки, по значениям которых считается [ключ маршрутизации](https://ytsaurus.tech/docs/ru/flow/extensions/clickhouse.md#sharding-key). Требует `shard_hosts`: в нешардированных формах параметр отвергается при валидации спеки. Пустой список означает маршрутизацию по идентификатору сообщения, то есть без ко-локации. ||
|| `user` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
Пользователь ClickHouse. ||
|| `password_env_var` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Имя переменной окружения с паролем; разрешается через `GetEnv` при создании клиента. Пустое значение — подключение без пароля. ||
|| `database` | **Тип**: `std::string`
**Значение по умолчанию**: `default`
База данных целевой таблицы. Общая для всех шардов. ||
|| `table` | **Тип**: `std::string`
**Обязательный параметр**
Целевая таблица. Общая для всех шардов, поэтому `<database>.<table>` должна существовать на каждом хосте каждого шарда. ||
|| `codec` | **Тип**: [NYT::NFlow::EClickHouseCodec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EClickHouseCodec)
**Значение по умолчанию**: `lz4`
Сжатие нативного протокола. ||
|| `enable_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Подключаться по TCP+TLS вместо обычного TCP. Порт при этом не меняется: укажите в `port` защищённый нативный порт сервера (обычно `9440`). ||
|| `tls_ca_files` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Список путей к файлам корневых сертификатов (CA) для проверки сертификата сервера. Пустой список допустим при выключенном TLS; при включённом TLS он означает использование системных корневых сертификатов. Непустой список требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_ca_directory` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
Путь к директории с корневыми сертификатами (CA) для проверки сертификата сервера. Пустое значение допустимо при выключенном TLS. Непустой путь требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. ||
|| `tls_skip_verification` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Пропускать проверку TLS-сессии (сертификат сервера и т. д.). **Небезопасно**, использовать только для тестовых окружений с самоподписанными сертификатами. Значение `true` требует `enable_tls = true`; иначе проверка конфигурации завершается ошибкой. Значение `false` допустимо при выключенном TLS. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TShardedClickHouseBatchingSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TSwiftPassthroughComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TSwiftPassthroughComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TSwiftPassthroughComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `allow_batching_with_relaxed_guarantees` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Разрешает склейку нескольких входных сообщений в одно выходное (батчинг). Полезно для свёртки множества мелких сообщений в одно более крупное, чтобы снизить нагрузку по числу сообщений на партицию ниже по конвейеру. По умолчанию `%false`: каждое выходное сообщение порождается ровно одним родителем, `MessageId` детерминированно наследуется от родителя, что даёт exactly-once при детерминированных пользовательских функциях. При `%true` выходное сообщение может иметь несколько родителей; один родитель считается обработанным, только когда обработаны все его дети. На повторных запусках границы склейки могут отличаться, поэтому один и тот же родитель может попасть в несколько разных склеенных детей — нижестоящие вычисления должны быть готовы видеть содержимое каждого родителя более одного раза (семантика at-least-once). Кроме того, склеенные выходные сообщения получают `MessageId`, детерминированно выведенный из набора `MessageId` родителей: реплей той же склейки даёт тот же `MessageId` и дедуплицируется, склейка другого состава — новый. Это значит, что порядок сообщений по `MessageId` в рамках одного ключа на стороне нижестоящих `Computation` может нарушаться: если последующие звенья пайплайна полагаются на упорядоченность по `MessageId` внутри ключа, такую логику нужно переписать с учётом этого. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TSwiftPassthroughComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TSwiftPassthroughOrderedSourceComputation.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TSwiftPassthroughOrderedSourceComputation&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TSwiftPassthroughOrderedSourceComputation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

**В структуре нет основных параметров.**
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TSwiftPassthroughOrderedSourceComputation.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TSyncQueueSink.md -->
## NYT::NFlow::TUnitedParameters&lt;NYT::NFlow::TSyncQueueSink&gt; {#NYT_NFlow_TUnitedParameters_NYT_NFlow_TSyncQueueSink}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/registry-inl.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/registry-inl.h)

#|
|| **Параметр** | **Описание** ||
|| `queue_path` | **Тип**: `NYT::NYPath::TRichYPath`
**Обязательный параметр**
Путь до очереди с указанием кластера. ||
|| `write_flow_queue_meta` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Нужно ли писать мету в очередь (в мете пишутся ватермарки). ||
|| `flow_queue_meta_column` | **Тип**: `std::string`
**Значение по умолчанию**: `flow_queue_meta`
В какую колонку писать мету. ||
|| `tablet_index_expression` | **Тип**: `std::optional<std::string>`
Verbatim-режим маршрутизации. QL-выражение (только встроенные функции, например `farm_hash`) над колонками сообщения, значение которого пишется в системную колонку `$tablet_index` как есть. Взаимоисключающе с `tablet_index_routing_hash_expression`; если не задано ни одно из двух выражений &mdash; маршрутизация выключена (`$tablet_index` не пишется, таблет выбирает драйвер). Шардированные очереди неудобны в эксплуатации (жёсткая связность object&rarr;таблет, решардирование переразбивает ключи), поэтому включайте маршрутизацию только при реальной необходимости. Маршрутизация поддерживается только для синхронных queue-синков; асинхронные синки отвергают параметры маршрутизации при загрузке спеки (YTFLOW-766). ||
|| `tablet_index_routing_hash_expression` | **Тип**: `std::optional<std::string>`
Hash-режим маршрутизации. QL-выражение (только встроенные функции, например `farm_hash`), вычисляющее `uint64`-хеш, который сводится к индексу таблета по `tablet_index_routing_hash_policy` над `tablet_count`. Взаимоисключающе с `tablet_index_expression`. Поддерживается только для синхронных queue-синков; асинхронные синки отвергают параметры маршрутизации (YTFLOW-766). ||
|| `tablet_index_routing_hash_policy` | **Тип**: `std::optional<`[NYT::NFlow::EQueueTabletIndexRoutingHashPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_EQueueTabletIndexRoutingHashPolicy)`>`
Политика сведения хеша `tablet_index_routing_hash_expression` к индексу таблета. Обязателен вместе с ним. `range` &mdash; непрерывные равноширокие диапазоны хеша (rangeSize = 2^64 / tablet_count), рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. `modulo` &mdash; `hash % tablet_count`; не рекомендуется: `Computation`-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении). ||
|| `tablet_count` | **Тип**: `std::optional<long>`
Число таблетов для сведения `tablet_index_routing_hash_expression` к индексу таблета. Необязателен. Если не задан, синк периодически перечитывает `@tablet_count` целевой очереди (из кэша мастера) и подхватывает решардирование без рестарта. Если задан явно &mdash; значение фиксировано, запросов в очередь нет, а решардирование учитывается только при изменении конфигурации. ||
|| `column_filter` | **Тип**: `std::optional<THashSet<std::string>>`
Какие колонки из сообщения писать в очередь (по умолчанию &mdash; все). ||
|#


{% cut "**Дополнительные параметры**" %}


#|
|| `update_partition_count_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди). ||
|| `update_partition_count_retry_min_backoff` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается `update_partition_count_period`; последующие задержки растут экспоненциально. ||
|#


{% endcut %}
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TUnitedParameters_NYT_NFlow_TSyncQueueSink.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TVanillaConfig.md -->
## NYT::NFlow::TVanillaConfig {#NYT_NFlow_TVanillaConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/runner/vanilla_launcher.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/runner/vanilla_launcher.h)

#|
|| **Параметр** | **Описание** ||
|| `enable` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Включить vanilla-режим. Если `%false`, блок игнорируется. ||
|| `pool` | **Тип**: `std::string`
**Обязательный параметр**
Пул, в котором запускается vanilla-операция. ||
|| `worker` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TVanillaTaskConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TVanillaTaskConfig)`>`
**Обязательный параметр**
Конфиг джоб воркеров (число джоб и лимиты ресурсов). Обязательно нужно указать `count`. ||
|| `controller` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TVanillaTaskConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TVanillaTaskConfig)`>`
**Значение по умолчанию**: `{'count': 1}`
Конфиг джоб контроллера (число джоб и лимиты ресурсов). Если не задан, используется одна джоба с дефолтными лимитами. ||
|| `runtime_cluster` | **Тип**: `std::optional<std::string>`
Кластер, на котором запускается vanilla-операция. По умолчанию совпадает с `cluster_url` пайплайна. ||
|| `runtime_proxy_role` | **Тип**: `std::optional<std::string>`
Роль RPC-прокси для `runtime_cluster` (роль кластера пайплайна может не существовать на нём). Учитывается, только когда `runtime_cluster` отличается от кластера пайплайна. ||
|| `cache_path` | **Тип**: `TString`
**Значение по умолчанию**: `//tmp/yt_wrapper/file_storage/new_cache`
Content-addressed кэш, в который заливаются файлы джоб (общий для всех flow-операций на кластере). Долговременная копия в папке пайплайна — дешёвый `CopyNode` отсюда. ||
|| `max_failed_job_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `10000`
Максимальное число упавших джобов, при достижении которого vanilla-операция падает. ||
|| `max_stderr_count` | **Тип**: `int`
**Значение по умолчанию**: `150`
 ||
|| `wait_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
Таймаут ожидания состояний пайплайна при штатном останове прежней vanilla-операции. ||
|| `alias` | **Тип**: `std::optional<std::string>`
Явный alias vanilla-операции. Если не задан, генерируется как `*flow-runner <cluster>:<path>`. ||
|| `title` | **Тип**: `std::optional<std::string>`
Title vanilla-операции. ||
|| `network_project` | **Тип**: `std::optional<std::string>`
В open-source сборках сетевой проект для vanilla-операции по умолчанию не задан. ||
|| `proxy_url_aliasing_rules` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
Алиасы прокси-URL, прокидываемые во flow-server внутри vanilla-джоб. ||
|| `secret_env` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
 ||
|| `node_config` | **Тип**: `NYT::TIntrusivePtr<NYT::NYTree::INode>`
Произвольный YSON-патч, накладываемый поверх дефолтного `TFlowNodeConfig` внутри vanilla-джоб. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TVanillaConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TVanillaTaskConfig.md -->
## NYT::NFlow::TVanillaTaskConfig {#NYT_NFlow_TVanillaTaskConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/runner/vanilla_launcher.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/runner/vanilla_launcher.h)

#|
|| **Параметр** | **Описание** ||
|| `count` | **Тип**: `int`
**Обязательный параметр**
Число джоб задачи (контроллера или воркера) в vanilla-операции. ||
|| `memory_limit` | **Тип**: `std::optional<`[NYT::NYTree::TSize](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYTree_TSize)`>`
Лимит памяти на одну джобу. Если не задан, используется общий дефолт — `18 GiB`, одинаковый у контроллера и воркера. ||
|| `cpu_limit` | **Тип**: `std::optional<int>`
Лимит CPU на одну джобу. Если не задан, используется общий дефолт — `6`, одинаковый у контроллера и воркера. ||
|| `set_container_cpu_limit` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Запрашивать ограничение CPU контейнера, равное `cpu_limit`, если среда выполнения поддерживает его. При `%false` раннер не задаёт это поле в спецификации операции. ||
|| `port_count` | **Тип**: `std::optional<int>`
Сколько портов запросить у YT (порты выдаются через `YT_PORT_<i>` и перекрывают фиксированные порты из node-config): `YT_PORT_0` — `rpc_port` (и `bus_server.port`), `YT_PORT_1` — `monitoring_port`, `YT_PORT_2` — `companion.port`. Нужно на хосте с общей сетью, где фиксированные порты соседних джоб столкнулись бы: контроллеру и воркеру без компаньона — `2`, воркеру с компаньоном (Python, Java, Go, C++-компаньон) — `3`. При запуске без сетевого проекта поле заполняется автоматически (`2` у контроллера, `3` у воркера); явное значение `0` оставляет фиксированные порты. Как только `port_count` воркера положителен, фиксированный `companion.port = 10082` в конфиг не подставляется: воркер с компаньоном и меньшим числом портов не стартует, вместо того чтобы ходить на компаньона соседней джобы. ||
|| `local_files` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
 ||
|| `cypress_files` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
 ||
|| `layers` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
Cypress-пути porto-слоёв, монтируемых в корневую файловую систему задачи. Непустой список хотя бы у одной задачи включает porto-джобы для всей vanilla-операции. ||
|| `system_layer_path` | **Тип**: `std::optional<std::string>`
Базовый OS-слой задачи; переопределяет системный слой по умолчанию. ||
|| `docker_image` | **Тип**: `std::optional<std::string>`
Docker-образ корневой файловой системы задачи — для кластеров, где окружение джобы задаётся образом, а не porto-слоями. Взаимоисключим с `layers`. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TVanillaTaskConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TWatermarkAlignmentSpec.md -->
## NYT::NFlow::TWatermarkAlignmentSpec {#NYT_NFlow_TWatermarkAlignmentSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `group_name` | **Тип**: `NYT::TStrongTypedef<std::string, NYT::NFlow::TWatermarkAlignmentGroupTag, NYT::TStrongTypedefOptions{true}>`
**Значение по умолчанию**: `default-alignment-group`
Имя группы ||
|| `drift_bound` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `20m`
Максимальное возможное опережение вотермарка отдельной партиции от вотермарка всей группы ||
|| `read_delays` | **Тип**: `std::optional<THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, `[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>>`
Опция для продвинутого использования. Если `EventTimestamp` выходного сообщения больше, чем `EventWatermark - Delay` хотя бы для одного указанного потока, то чтение приостанавливается. При неправильной настройке опция может привести к полной остановке чтения. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TWatermarkAlignmentSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TWatermarkGeneratorSpec.md -->
## NYT::NFlow::TWatermarkGeneratorSpec {#NYT_NFlow_TWatermarkGeneratorSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `use_source_watermark` | **Тип**: `bool`
**Значение по умолчанию**: `false`
Использовать `SourceWatermark` для генерации `EventWatermark`. Эта опция полностью отключает все эвристики для определения `EventWatermark` и её нужно использовать строго в тех случаях, когда во входном потоке есть специальные маркеры с `EventWatermark`. ||
|| `out_of_orderness_bound` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `0`
Ограничение сверху на возможное переупорядочивание событий, используемое для оценки `EventWatermark`. По умолчанию переупорядочивание не учитывается. ||
|| `idle_partitions` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TIdlePartitionsSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TIdlePartitionsSpec)`>`
Настройки эвристики для игнорирования партиций с нулевым потоком записи. ||
|| `late_data_partitions` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TLateDataPartitionsSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TLateDataPartitionsSpec)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TWatermarkGeneratorSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TWatermarkPercentileSpec.md -->
## NYT::NFlow::TWatermarkPercentileSpec {#NYT_NFlow_TWatermarkPercentileSpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `value` | **Тип**: `NYT::TStrongTypedef<double, NYT::NFlow::TWatermarkPercentileTag, NYT::TStrongTypedefOptions{true}>`
**Значение по умолчанию**: `100.0`
Процент безусловно учитываемых для расчёта `EventWatermark` событий ||
|| `delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
Порог свежести для событий ниже выбранного персентиля ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TWatermarkPercentileSpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NFlow_TWatermarkStrategySpec.md -->
## NYT::NFlow::TWatermarkStrategySpec {#NYT_NFlow_TWatermarkStrategySpec}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/flow/library/cpp/common/spec.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/flow/library/cpp/common/spec.h)

#|
|| **Параметр** | **Описание** ||
|| `event_timestamp_assigner` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TEventTimestampAssignerSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TEventTimestampAssignerSpec)`>`
**Значение по умолчанию**: `{}`
Автоматическое заполнение `EventTimestamp` всех `output` сообщений на базе значения определённой колонки. ||
|| `watermark_generator` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TWatermarkGeneratorSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TWatermarkGeneratorSpec)`>`
Настройки алгоритма генерации `EventWatermark`. Для `Computation` хотя бы с одним `source` отсутствие параметра эквивалентно пустому блоку с настройками по умолчанию. `Computation` с несколькими `source` обрабатывается как несколько независимых single-source `Computation`: для каждого `source` по отдельности и в этом порядке применяются эвристики недоступных групп, idle-партиций и late-data-партиций, а подготовленные партиции объединяются только после этого. `idle_partitions.max_ratio` применяется отдельно к каждому `source`, а решения о подавлении availability-групп одного `source` не влияют на другие. Поэтому полностью idle `source` не считается partial-idle stall и сам по себе не поднимает `/idle_partitions_watermark_stall`, даже если он удерживает итоговый watermark `Computation`, пока другой `source` остаётся активным. Идентификаторы availability-групп между источниками могут различаться. ||
|| `watermark_alignment` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TWatermarkAlignmentSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TWatermarkAlignmentSpec)`>`
Настройки выравнивания `source` между разными партициями, в том числе разных `Computation` ||
|| `watermark_percentile` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TWatermarkPercentileSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TWatermarkPercentileSpec)`>`
**Значение по умолчанию**: `{}`
Настройка "персентильного" `EventWatermark`. Используется для игнорирования самых старых событий в пределах сконфигурированного процента. ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NFlow_TWatermarkStrategySpec.md -->

<!-- source: ru/flow/generated_docs/NYT_NHttp_TClientConfig.md -->
## NYT::NHttp::TClientConfig {#NYT_NHttp_TClientConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/http/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/http/config.h)

#|
|| **Параметр** | **Описание** ||
|| `read_buffer_size` | **Тип**: `int`
**Значение по умолчанию**: `131072`
 ||
|| `max_redirect_count` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `ignore_continue_responses` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `connection_idle_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `header_read_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `body_read_idle_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `write_idle_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `max_idle_connections` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `dns_resolve_options` | **Тип**: `std::optional<NYT::NDns::TDnsResolveOptions>`
 ||
|| `omit_question_mark_for_empty_query` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `dialer` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NNet::TDialerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NNet_TDialerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NHttp_TClientConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NHttps_TClientConfig.md -->
## NYT::NHttps::TClientConfig {#NYT_NHttps_TClientConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/https/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/https/config.h)

#|
|| **Параметр** | **Описание** ||
|| `read_buffer_size` | **Тип**: `int`
**Значение по умолчанию**: `131072`
 ||
|| `max_redirect_count` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `ignore_continue_responses` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `connection_idle_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `header_read_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `body_read_idle_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `write_idle_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `max_idle_connections` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `dns_resolve_options` | **Тип**: `std::optional<NYT::NDns::TDnsResolveOptions>`
 ||
|| `omit_question_mark_for_empty_query` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `dialer` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NNet::TDialerConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NNet_TDialerConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `credentials` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NHttps::TClientCredentialsConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NHttps_TClientCredentialsConfig)`>`
 ||
|| `allow_http` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NHttps_TClientConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NHttps_TClientCredentialsConfig.md -->
## NYT::NHttps::TClientCredentialsConfig {#NYT_NHttps_TClientCredentialsConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/https/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/https/config.h)

#|
|| **Параметр** | **Описание** ||
|| `ca` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `cert_chain` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `private_key` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `ssl_configuration_commands` | **Тип**: `std::vector<NYT::TIntrusivePtr<`[NYT::NCrypto::TSslContextCommand](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TSslContextCommand)`>>`
**Значение по умолчанию**: `[]`
 ||
|| `insecure_skip_verify` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NHttps_TClientCredentialsConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NLogging_ELogFamily.md -->
## NYT::NLogging::ELogFamily {#NYT_NLogging_ELogFamily}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `plain_text` |  ||
|| `structured` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NLogging_ELogFamily.md -->

<!-- source: ru/flow/generated_docs/NYT_NLogging_ELogLevel.md -->
## NYT::NLogging::ELogLevel {#NYT_NLogging_ELogLevel}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `minimum` |  ||
|| `trace` |  ||
|| `debug` |  ||
|| `info` |  ||
|| `warning` |  ||
|| `error` |  ||
|| `alert` |  ||
|| `fatal` |  ||
|| `maximum` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NLogging_ELogLevel.md -->

<!-- source: ru/flow/generated_docs/NYT_NLogging_TLogManagerConfig.md -->
## NYT::NLogging::TLogManagerConfig {#NYT_NLogging_TLogManagerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/logging/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/logging/config.h)

#|
|| **Параметр** | **Описание** ||
|| `flush_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `watch_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `check_space_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `rotation_check_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `min_disk_space` | **Тип**: `long`
**Значение по умолчанию**: `5368709120`
 ||
|| `high_backlog_watermark` | **Тип**: `int`
**Значение по умолчанию**: `10000000`
 ||
|| `low_backlog_watermark` | **Тип**: `int`
**Значение по умолчанию**: `1000000`
 ||
|| `shutdown_grace_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `shutdown_busy_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `0`
 ||
|| `rules` | **Тип**: `std::vector<NYT::TIntrusivePtr<`[NYT::NLogging::TRuleConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_TRuleConfig)`>>`
**Обязательный параметр**
 ||
|| `writers` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<NYT::NYTree::IMapNode>>`
**Обязательный параметр**
 ||
|| `category_rate_limits` | **Тип**: `THashMap<std::string, long>`
**Значение по умолчанию**: `{}`
 ||
|| `suppressed_messages` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
 ||
|| `message_level_overrides` | **Тип**: `THashMap<std::string, `[NYT::NLogging::ELogLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogLevel)`>`
**Значение по умолчанию**: `{}`
 ||
|| `request_suppression_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `0`
 ||
|| `enable_anchor_profiling` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `min_logged_message_rate_to_profile` | **Тип**: `double`
**Значение по умолчанию**: `1.0`
 ||
|| `abort_on_alert` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `structured_validation_sampling_rate` | **Тип**: `double`
**Значение по умолчанию**: `0.01`
 ||
|| `compression_thread_count` | **Тип**: `int`
**Значение по умолчанию**: `1`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NLogging_TLogManagerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NLogging_TLogManagerDynamicConfig.md -->
## NYT::NLogging::TLogManagerDynamicConfig {#NYT_NLogging_TLogManagerDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/logging/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/logging/config.h)

#|
|| **Параметр** | **Описание** ||
|| `min_disk_space` | **Тип**: `std::optional<long>`
 ||
|| `high_backlog_watermark` | **Тип**: `std::optional<int>`
 ||
|| `low_backlog_watermark` | **Тип**: `std::optional<int>`
 ||
|| `rules` | **Тип**: `std::optional<std::vector<NYT::TIntrusivePtr<`[NYT::NLogging::TRuleConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_TRuleConfig)`>>>`
 ||
|| `category_rate_limits` | **Тип**: `std::optional<THashMap<std::string, long>>`
 ||
|| `suppressed_messages` | **Тип**: `std::optional<std::vector<std::string>>`
 ||
|| `message_level_overrides` | **Тип**: `THashMap<std::string, `[NYT::NLogging::ELogLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogLevel)`>`
**Значение по умолчанию**: `{}`
 ||
|| `request_suppression_timeout` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `enable_anchor_profiling` | **Тип**: `std::optional<bool>`
 ||
|| `min_logged_message_rate_to_profile` | **Тип**: `std::optional<double>`
 ||
|| `abort_on_alert` | **Тип**: `std::optional<bool>`
 ||
|| `structured_validation_sampling_rate` | **Тип**: `std::optional<double>`
 ||
|| `compression_thread_count` | **Тип**: `std::optional<int>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NLogging_TLogManagerDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NLogging_TRuleConfig.md -->
## NYT::NLogging::TRuleConfig {#NYT_NLogging_TRuleConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/logging/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/logging/config.h)

#|
|| **Параметр** | **Описание** ||
|| `include_categories` | **Тип**: `std::optional<THashSet<std::string>>`
 ||
|| `exclude_categories` | **Тип**: `THashSet<std::string>`
**Значение по умолчанию**: `[]`
 ||
|| `min_level` | **Тип**: [NYT::NLogging::ELogLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogLevel)
**Значение по умолчанию**: `minimum`
 ||
|| `max_level` | **Тип**: [NYT::NLogging::ELogLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogLevel)
**Значение по умолчанию**: `maximum`
 ||
|| `family` | **Тип**: `std::optional<`[NYT::NLogging::ELogFamily](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogFamily)`>`
 ||
|| `writers` | **Тип**: `std::vector<std::string>`
**Обязательный параметр**
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NLogging_TRuleConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NNet_TAddressResolverConfig.md -->
## NYT::NNet::TAddressResolverConfig {#NYT_NNet_TAddressResolverConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/net/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/net/config.h)

#|
|| **Параметр** | **Описание** ||
|| `shard_count` | **Тип**: `unsigned long`
**Значение по умолчанию**: `1`
 ||
|| `expire_after_access_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `expire_after_successful_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `2m`
 ||
|| `expire_after_failed_update_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `refresh_time` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `60000`
 ||
|| `expiration_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
**Значение по умолчанию**: `60000`
 ||
|| `batch_update` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retries` | **Тип**: `int`
**Значение по умолчанию**: `25`
 ||
|| `retry_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `200ms`
 ||
|| `resolve_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `max_resolve_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `warning_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `jitter` | **Тип**: `std::optional<double>`
**Значение по умолчанию**: `0.5`
 ||
|| `force_tcp` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `keep_socket` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_ipv4` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_ipv6` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `localhost_name_override` | **Тип**: `std::optional<std::string>`
 ||
|| `resolve_hostname_into_fqdn` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NNet_TAddressResolverConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NNet_TDialerConfig.md -->
## NYT::NNet::TDialerConfig {#NYT_NNet_TDialerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/net/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/net/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable_no_delay` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_aggressive_reconnect` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `allow_bypass_tls` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `min_rto` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `max_rto` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `rto_scale` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
 ||
|| `connect_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NNet_TDialerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NPipeIO_TPipeIODispatcherConfig.md -->
## NYT::NPipeIO::TPipeIODispatcherConfig {#NYT_NPipeIO_TPipeIODispatcherConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/pipe_io/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/pipe_io/config.h)

#|
|| **Параметр** | **Описание** ||
|| `thread_pool_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10ms`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NPipeIO_TPipeIODispatcherConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NPipeIO_TPipeIODispatcherDynamicConfig.md -->
## NYT::NPipeIO::TPipeIODispatcherDynamicConfig {#NYT_NPipeIO_TPipeIODispatcherDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/pipe_io/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/pipe_io/config.h)

#|
|| **Параметр** | **Описание** ||
|| `thread_pool_polling_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NPipeIO_TPipeIODispatcherDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_ELabelSanitizationPolicy.md -->
## NYT::NProfiling::ELabelSanitizationPolicy {#NYT_NProfiling_ELabelSanitizationPolicy}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `weak` |  ||
|| `strong` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_ELabelSanitizationPolicy.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_TResourceTrackerConfig.md -->
## NYT::NProfiling::TResourceTrackerConfig {#NYT_NProfiling_TResourceTrackerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/profiling/resource_tracker/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/profiling/resource_tracker/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `cpu_to_vcpu_factor` | **Тип**: `std::optional<double>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_TResourceTrackerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_TShardConfig.md -->
## NYT::NProfiling::TShardConfig {#NYT_NProfiling_TShardConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/profiling/solomon/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/profiling/solomon/config.h)

#|
|| **Параметр** | **Описание** ||
|| `filter` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
 ||
|| `grid_step` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `strip_sensors_name_prefix` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_TShardConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_TSolomonExporterConfig.md -->
## NYT::NProfiling::TSolomonExporterConfig {#NYT_NProfiling_TSolomonExporterConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/profiling/solomon/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/profiling/solomon/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `grid_step` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `linger_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5m`
 ||
|| `window_size` | **Тип**: `int`
**Значение по умолчанию**: `12`
 ||
|| `thread_pool_size` | **Тип**: `int`
**Значение по умолчанию**: `1`
 ||
|| `encoding_thread_pool_size` | **Тип**: `int`
**Значение по умолчанию**: `1`
 ||
|| `thread_pool_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10ms`
 ||
|| `encoding_thread_pool_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10ms`
 ||
|| `convert_counters_to_rate_for_solomon` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `rename_converted_counters` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `convert_counters_to_delta_gauge` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_histogram_compat` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `split_rate_histogram_into_gauges` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `report_timestamps_for_rate_metrics` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `export_summary` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `export_summary_as_sum` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `export_summary_as_max` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `export_summary_as_min` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `export_summary_as_avg` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `mark_aggregates` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `enable_solomon_aggregates` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `export_globals_as_mem_only` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `strip_sensors_name_prefix` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `enable_self_profiling` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `report_build_info` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `report_kernel_version` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `report_restart` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `read_delay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `5s`
 ||
|| `host` | **Тип**: `std::optional<std::string>`
 ||
|| `instance_tags` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
 ||
|| `shards` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<`[NYT::NProfiling::TShardConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TShardConfig)`>>`
**Значение по умолчанию**: `{}`
 ||
|| `response_cache_ttl` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `2m`
 ||
|| `update_sensor_service_tree_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `30s`
 ||
|| `producer_collection_batch_size` | **Тип**: `int`
**Значение по умолчанию**: `100`
 ||
|| `label_sanitization_policy` | **Тип**: [NYT::NProfiling::ELabelSanitizationPolicy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_ELabelSanitizationPolicy)
**Значение по умолчанию**: `none`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_TSolomonExporterConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_TSolomonProxyConfig.md -->
## NYT::NProfiling::TSolomonProxyConfig {#NYT_NProfiling_TSolomonProxyConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/profiling/solomon/proxy.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/profiling/solomon/proxy.h)

#|
|| **Параметр** | **Описание** ||
|| `public_component_names` | **Тип**: `std::optional<THashSet<std::string>>`
 ||
|| `max_endpoints_per_request` | **Тип**: `int`
**Значение по умолчанию**: `30`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_TSolomonProxyConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_TSolomonRegistryConfig.md -->
## NYT::NProfiling::TSolomonRegistryConfig {#NYT_NProfiling_TSolomonRegistryConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/profiling/solomon/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/profiling/solomon/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable_rseq` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_TSolomonRegistryConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NProfiling_TSolomonRegistryDynamicConfig.md -->
## NYT::NProfiling::TSolomonRegistryDynamicConfig {#NYT_NProfiling_TSolomonRegistryDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/profiling/solomon/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/profiling/solomon/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable_rseq` | **Тип**: `std::optional<bool>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NProfiling_TSolomonRegistryDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NQueryClient_EStatisticsAggregation.md -->
## NYT::NQueryClient::EStatisticsAggregation {#NYT_NQueryClient_EStatisticsAggregation}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `depth` |  ||
|| `depth_omit_node` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NQueryClient_EStatisticsAggregation.md -->

<!-- source: ru/flow/generated_docs/NYT_NQueryClient_TCodegenCacheConfig.md -->
## NYT::NQueryClient::TCodegenCacheConfig {#NYT_NQueryClient_TCodegenCacheConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/query/engine_api/cg_cache.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/query/engine_api/cg_cache.h)

#|
|| **Параметр** | **Описание** ||
|| `capacity` | **Тип**: `long`
**Значение по умолчанию**: `512`
 ||
|| `younger_size_fraction` | **Тип**: `double`
**Значение по умолчанию**: `0.25`
 ||
|| `shard_count` | **Тип**: `int`
**Значение по умолчанию**: `1`
 ||
|| `touch_buffer_capacity` | **Тип**: `int`
**Значение по умолчанию**: `65536`
 ||
|| `small_ghost_cache_ratio` | **Тип**: `double`
**Значение по умолчанию**: `0.5`
 ||
|| `large_ghost_cache_ratio` | **Тип**: `double`
**Значение по умолчанию**: `2.0`
 ||
|| `enable_ghost_caches` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `reject_oversized_items` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NQueryClient_TCodegenCacheConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NQueryClient_TCodegenCacheDynamicConfig.md -->
## NYT::NQueryClient::TCodegenCacheDynamicConfig {#NYT_NQueryClient_TCodegenCacheDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/query/engine_api/cg_cache.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/query/engine_api/cg_cache.h)

#|
|| **Параметр** | **Описание** ||
|| `capacity` | **Тип**: `std::optional<long>`
 ||
|| `younger_size_fraction` | **Тип**: `std::optional<double>`
 ||
|| `enable_ghost_caches` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `reject_oversized_items` | **Тип**: `std::optional<bool>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NQueryClient_TCodegenCacheDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NQueryClient_TQueryEngineConfig.md -->
## NYT::NQueryClient::TQueryEngineConfig {#NYT_NQueryClient_TQueryEngineConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/query/engine_api/query_engine_config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/query/engine_api/query_engine_config.h)

#|
|| **Параметр** | **Описание** ||
|| `codegen_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NQueryClient::TCodegenCacheConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NQueryClient_TCodegenCacheConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NQueryClient_TQueryEngineConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NQueryClient_TQueryEngineDynamicConfig.md -->
## NYT::NQueryClient::TQueryEngineDynamicConfig {#NYT_NQueryClient_TQueryEngineDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/query/engine_api/query_engine_config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/query/engine_api/query_engine_config.h)

#|
|| **Параметр** | **Описание** ||
|| `codegen_cache` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NQueryClient::TCodegenCacheDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NQueryClient_TCodegenCacheDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `statistics_aggregation` | **Тип**: `std::optional<`[NYT::NQueryClient::EStatisticsAggregation](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NQueryClient_EStatisticsAggregation)`>`
 ||
|| `use_order_by_in_join_subqueries` | **Тип**: `std::optional<bool>`
 ||
|| `enable_parallelize_unordered_group_by` | **Тип**: `std::optional<bool>`
 ||
|| `expression_builder_version` | **Тип**: `std::optional<int>`
 ||
|| `max_projection_count` | **Тип**: `int`
**Значение по умолчанию**: `1024`
 ||
|| `codegen_optimization_level` | **Тип**: `std::optional<`[NYT::NCodegen::EOptimizationLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCodegen_EOptimizationLevel)`>`
 ||
|| `allow_udf_object_code_cache` | **Тип**: `std::optional<bool>`
 ||
|| `rewrite_cardinality_into_hyper_log_log_with_precision` | **Тип**: `std::optional<bool>`
 ||
|| `allow_join_with_async_last_committed_timestamp_if_require_sync_replica_is_false` | **Тип**: `std::optional<bool>`
 ||
|| `truncated_query_length_for_tracing` | **Тип**: `std::optional<int>`
 ||
|| `allow_reverse_scan_for_order_by` | **Тип**: `std::optional<bool>`
 ||
|| `allow_heavy_range_inference_in_joins` | **Тип**: `std::optional<bool>`
 ||
|| `prefetch_join_tables` | **Тип**: `std::optional<bool>`
 ||
|| `allow_multiple_join_subqueries_for_non_lookup_joins` | **Тип**: `std::optional<bool>`
 ||
|| `join_cache_size` | **Тип**: `std::optional<long>`
 ||
|| `max_subsplits_per_tablet` | **Тип**: `std::optional<int>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NQueryClient_TQueryEngineDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_EPeerPriorityStrategy.md -->
## NYT::NRpc::EPeerPriorityStrategy {#NYT_NRpc_EPeerPriorityStrategy}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `none` |  ||
|| `prefer_local` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_EPeerPriorityStrategy.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_ERequestTracingMode.md -->
## NYT::NRpc::ERequestTracingMode {#NYT_NRpc_ERequestTracingMode}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `enable` |  ||
|| `disable` |  ||
|| `force` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_ERequestTracingMode.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_NGrpc_TChannelConfig.md -->
## NYT::NRpc::NGrpc::TChannelConfig {#NYT_NRpc_NGrpc_TChannelConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/grpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/grpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `credentials` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TChannelCredentialsConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TChannelCredentialsConfig)`>`
 ||
|| `grpc_arguments` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<NYT::NYTree::INode>>`
**Значение по умолчанию**: `{}`
 ||
|| `address` | **Тип**: `std::string`
**Значение по умолчанию**: `TString("")`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_NGrpc_TChannelConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_NGrpc_TChannelCredentialsConfig.md -->
## NYT::NRpc::NGrpc::TChannelCredentialsConfig {#NYT_NRpc_NGrpc_TChannelCredentialsConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/grpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/grpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `pem_root_certs` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `pem_key_cert_pair` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TSslPemKeyCertPairConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TSslPemKeyCertPairConfig)`>`
 ||
|| `verify_server_cert` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_NGrpc_TChannelCredentialsConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_NGrpc_TDispatcherConfig.md -->
## NYT::NRpc::NGrpc::TDispatcherConfig {#NYT_NRpc_NGrpc_TDispatcherConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/grpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/grpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `dispatcher_thread_count` | **Тип**: `int`
**Значение по умолчанию**: `4`
 ||
|| `grpc_thread_count` | **Тип**: `int`
**Значение по умолчанию**: `4`
 ||
|| `grpc_event_engine_thread_count` | **Тип**: `int`
**Значение по умолчанию**: `4`
 ||
|| `grpc_internal_min_log_level` | **Тип**: [NYT::NLogging::ELogLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogLevel)
**Значение по умолчанию**: `error`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_NGrpc_TDispatcherConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_NGrpc_TDispatcherDynamicConfig.md -->
## NYT::NRpc::NGrpc::TDispatcherDynamicConfig {#NYT_NRpc_NGrpc_TDispatcherDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/grpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/grpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `grpc_internal_min_log_level` | **Тип**: `std::optional<`[NYT::NLogging::ELogLevel](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_ELogLevel)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_NGrpc_TDispatcherDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_NGrpc_TSslPemKeyCertPairConfig.md -->
## NYT::NRpc::NGrpc::TSslPemKeyCertPairConfig {#NYT_NRpc_NGrpc_TSslPemKeyCertPairConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/grpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/grpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `private_key` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|| `cert_chain` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NCrypto::TPemBlobConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NCrypto_TPemBlobConfig)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_NGrpc_TSslPemKeyCertPairConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TDispatcherConfig.md -->
## NYT::NRpc::TDispatcherConfig {#NYT_NRpc_TDispatcherConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `heavy_pool_size` | **Тип**: `int`
**Значение по умолчанию**: `16`
 ||
|| `compression_pool_size` | **Тип**: `int`
**Значение по умолчанию**: `8`
 ||
|| `heavy_pool_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10ms`
 ||
|| `default_request_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|| `alert_on_missing_request_annotation` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `alert_on_unset_request_timeout` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `send_tracing_baggage` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TDispatcherConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TDispatcherDynamicConfig.md -->
## NYT::NRpc::TDispatcherDynamicConfig {#NYT_NRpc_TDispatcherDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `heavy_pool_size` | **Тип**: `std::optional<int>`
 ||
|| `compression_pool_size` | **Тип**: `std::optional<int>`
 ||
|| `heavy_pool_polling_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `alert_on_missing_request_annotation` | **Тип**: `std::optional<bool>`
 ||
|| `send_tracing_baggage` | **Тип**: `std::optional<bool>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TDispatcherDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TDynamicChannelPoolConfig.md -->
## NYT::NRpc::TDynamicChannelPoolConfig {#NYT_NRpc_TDynamicChannelPoolConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `discover_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `acknowledgement_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `rediscover_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `rediscover_splay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `hard_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `soft_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `max_peer_count` | **Тип**: `int`
**Значение по умолчанию**: `100`
 ||
|| `hashes_per_peer` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `min_peer_count_for_priority_awareness` | **Тип**: `int`
**Значение по умолчанию**: `0`
 ||
|| `enable_power_of_two_choices_strategy` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `max_concurrent_discover_requests` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `random_peer_eviction_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1s`
 ||
|| `enable_peer_polling` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `peer_polling_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `peer_polling_period_splay` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10s`
 ||
|| `peer_polling_request_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `peer_priority_strategy` | **Тип**: [NYT::NRpc::EPeerPriorityStrategy](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_EPeerPriorityStrategy)
**Значение по умолчанию**: `none`
 ||
|| `discovery_session_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TDynamicChannelPoolConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_THistogramExponentialBounds.md -->
## NYT::NRpc::THistogramExponentialBounds {#NYT_NRpc_THistogramExponentialBounds}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `min` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `0`
 ||
|| `max` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `2s`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_THistogramExponentialBounds.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TRetryingChannelConfig.md -->
## NYT::NRpc::TRetryingChannelConfig {#NYT_NRpc_TRetryingChannelConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `retry_backoff_time` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `3s`
 ||
|| `retry_attempts` | **Тип**: `int`
**Значение по умолчанию**: `10`
 ||
|| `enable_exponential_retry_backoffs` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `retry_backoff` | **Тип**: `NYT::TExponentialBackoffOptions`
**Значение по умолчанию**:

```yson
{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 1.5;
    "invocation_count" = 10;
    "max_backoff" = 5000;
    "min_backoff" = 1000;
}
```
 ||
|| `retry_timeout` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TRetryingChannelConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TServerConfig.md -->
## NYT::NRpc::TServerConfig {#NYT_NRpc_TServerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `enable_per_user_profiling` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `timing_histogram` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TTimeHistogramConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TTimeHistogramConfig)`>`
 ||
|| `enable_error_code_counter` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `tracing_mode` | **Тип**: [NYT::NRpc::ERequestTracingMode](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_ERequestTracingMode)
**Значение по умолчанию**: `enable`
 ||
|| `services` | **Тип**: `THashMap<std::string, NYT::TIntrusivePtr<NYT::NYTree::INode>>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TServerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TServiceDiscoveryEndpointsConfig.md -->
## NYT::NRpc::TServiceDiscoveryEndpointsConfig {#NYT_NRpc_TServiceDiscoveryEndpointsConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `cluster` | **Тип**: `std::optional<std::string>`
 ||
|| `clusters` | **Тип**: `std::vector<std::string>`
**Значение по умолчанию**: `[]`
 ||
|| `endpoint_set_id` | **Тип**: `std::string`
**Обязательный параметр**
 ||
|| `update_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1m`
 ||
|| `use_ipv4` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `use_ipv6` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TServiceDiscoveryEndpointsConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NRpc_TTimeHistogramConfig.md -->
## NYT::NRpc::TTimeHistogramConfig {#NYT_NRpc_TTimeHistogramConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/rpc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/rpc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `exponential_bounds` | **Тип**: `std::optional<NYT::TIntrusivePtr<`[NYT::NRpc::THistogramExponentialBounds](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_THistogramExponentialBounds)`>>`
 ||
|| `custom_bounds` | **Тип**: `std::optional<std::vector<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NRpc_TTimeHistogramConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTCMalloc_TDynamicHeapSizeLimitConfig.md -->
## NYT::NTCMalloc::TDynamicHeapSizeLimitConfig {#NYT_NTCMalloc_TDynamicHeapSizeLimitConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tcmalloc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tcmalloc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `container_memory_ratio` | **Тип**: `std::optional<double>`
 ||
|| `container_memory_margin` | **Тип**: `std::optional<long>`
 ||
|| `hard` | **Тип**: `std::optional<bool>`
 ||
|| `dump_memory_profile_on_violation` | **Тип**: `std::optional<bool>`
 ||
|| `memory_profile_dump_timeout` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `memory_profile_dump_path` | **Тип**: `std::optional<std::string>`
 ||
|| `memory_profile_dump_filename_suffix` | **Тип**: `std::optional<std::string>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTCMalloc_TDynamicHeapSizeLimitConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTCMalloc_TDynamicTCMallocConfig.md -->
## NYT::NTCMalloc::TDynamicTCMallocConfig {#NYT_NTCMalloc_TDynamicTCMallocConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tcmalloc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tcmalloc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `aggressive_release_threshold` | **Тип**: `std::optional<long>`
 ||
|| `aggressive_release_threshold_ratio` | **Тип**: `std::optional<double>`
 ||
|| `aggressive_release_size` | **Тип**: `std::optional<long>`
 ||
|| `aggressive_release_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `guarded_sampling_rate` | **Тип**: `std::optional<long>`
 ||
|| `profile_sampling_rate` | **Тип**: `std::optional<long>`
 ||
|| `max_per_cpu_cache_size` | **Тип**: `std::optional<long>`
 ||
|| `max_total_thread_cache_bytes` | **Тип**: `std::optional<long>`
 ||
|| `background_release_rate` | **Тип**: `std::optional<long>`
 ||
|| `heap_size_limit` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTCMalloc::TDynamicHeapSizeLimitConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTCMalloc_TDynamicHeapSizeLimitConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTCMalloc_TDynamicTCMallocConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTCMalloc_THeapSizeLimitConfig.md -->
## NYT::NTCMalloc::THeapSizeLimitConfig {#NYT_NTCMalloc_THeapSizeLimitConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tcmalloc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tcmalloc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `container_memory_ratio` | **Тип**: `std::optional<double>`
 ||
|| `container_memory_margin` | **Тип**: `std::optional<long>`
 ||
|| `hard` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `dump_memory_profile_on_violation` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `memory_profile_dump_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `10m`
 ||
|| `memory_profile_dump_path` | **Тип**: `std::optional<std::string>`
 ||
|| `memory_profile_dump_filename_suffix` | **Тип**: `std::optional<std::string>`
 ||
|| `memory_profile_retention` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTCMalloc::TMemoryProfileRetentionConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTCMalloc_TMemoryProfileRetentionConfig)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTCMalloc_THeapSizeLimitConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTCMalloc_TMemoryProfileRetentionConfig.md -->
## NYT::NTCMalloc::TMemoryProfileRetentionConfig {#NYT_NTCMalloc_TMemoryProfileRetentionConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tcmalloc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tcmalloc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `max_dump_count` | **Тип**: `std::optional<int>`
 ||
|| `max_dump_age` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|| `max_total_size` | **Тип**: `std::optional<long>`
 ||
|| `max_orphan_age` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `1d`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTCMalloc_TMemoryProfileRetentionConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTCMalloc_TTCMallocConfig.md -->
## NYT::NTCMalloc::TTCMallocConfig {#NYT_NTCMalloc_TTCMallocConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tcmalloc/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tcmalloc/config.h)

#|
|| **Параметр** | **Описание** ||
|| `aggressive_release_threshold` | **Тип**: `long`
**Значение по умолчанию**: `21474836480`
 ||
|| `aggressive_release_threshold_ratio` | **Тип**: `std::optional<double>`
 ||
|| `aggressive_release_size` | **Тип**: `long`
**Значение по умолчанию**: `134217728`
 ||
|| `aggressive_release_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `100ms`
 ||
|| `guarded_sampling_rate` | **Тип**: `std::optional<long>`
**Значение по умолчанию**: `134217728`
 ||
|| `profile_sampling_rate` | **Тип**: `long`
**Значение по умолчанию**: `2097152`
 ||
|| `max_per_cpu_cache_size` | **Тип**: `long`
**Значение по умолчанию**: `3145728`
 ||
|| `max_total_thread_cache_bytes` | **Тип**: `long`
**Значение по умолчанию**: `25165824`
 ||
|| `background_release_rate` | **Тип**: `long`
**Значение по умолчанию**: `33554432`
 ||
|| `fail_fast_on_oom` | **Тип**: `bool`
**Значение по умолчанию**: `true`
 ||
|| `heap_size_limit` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTCMalloc::THeapSizeLimitConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTCMalloc_THeapSizeLimitConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTCMalloc_TTCMallocConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTracing_TJaegerTracerConfig.md -->
## NYT::NTracing::TJaegerTracerConfig {#NYT_NTracing_TJaegerTracerConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tracing/jaeger/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tracing/jaeger/config.h)

#|
|| **Параметр** | **Описание** ||
|| `collector_channel_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TChannelConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TChannelConfig)`>`
 ||
|| `flush_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `stop_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `rpc_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15s`
 ||
|| `queue_stall_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15m`
 ||
|| `max_request_size` | **Тип**: `long`
**Значение по умолчанию**: `131072`
 ||
|| `max_batch_size` | **Тип**: `long`
**Значение по умолчанию**: `128`
 ||
|| `max_memory` | **Тип**: `long`
**Значение по умолчанию**: `1073741824`
 ||
|| `subsampling_rate` | **Тип**: `std::optional<double>`
 ||
|| `reconnect_period` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `15m`
 ||
|| `endpoint_channel_timeout` | **Тип**: [TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)
**Значение по умолчанию**: `2h`
 ||
|| `service_name` | **Тип**: `std::optional<std::string>`
 ||
|| `process_tags` | **Тип**: `THashMap<std::string, std::string>`
**Значение по умолчанию**: `{}`
 ||
|| `enable_pid_tag` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `test_drop_spans` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTracing_TJaegerTracerConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NTracing_TJaegerTracerDynamicConfig.md -->
## NYT::NTracing::TJaegerTracerDynamicConfig {#NYT_NTracing_TJaegerTracerDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/library/tracing/jaeger/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/library/tracing/jaeger/config.h)

#|
|| **Параметр** | **Описание** ||
|| `collector_channel` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TChannelConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TChannelConfig)`>`
 ||
|| `max_request_size` | **Тип**: `std::optional<long>`
 ||
|| `max_memory` | **Тип**: `std::optional<long>`
 ||
|| `subsampling_rate` | **Тип**: `std::optional<double>`
 ||
|| `flush_period` | **Тип**: `std::optional<`[TDuration](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#TDuration)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NTracing_TJaegerTracerDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NYTree_TSize.md -->
## NYT::NYTree::TSize {#NYT_NYTree_TSize}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
**Описание**:
Тип-обёртка над int64, расширяющая его парсинг из yson. Он может парситься из yson-значений следующих типов:
* int64. В этом случае значение берётся как есть.
* uint64. Значение берётся как есть, но если оно не входит в диапазон допустимых значений int64, то выбрасывается исключение.
* string. Значение парсится из строки с поддержкой суффиксов, определяющих множитель.
    * `K`, `M`, `G`, `T`, `P`, `E` &mdash; суффиксы, соответствующие множителям $1000$, $1000^2$ и т. д.
    * `Ki`, `Mi`, `Gi`, `Ti`, `Pi`, `Ei` &mdash; суффиксы, соответствующие множителям $2^{10}$, $2^{20}$ и т. д.

    То есть `12M` &mdash; это $12~000~000$, `1Ki` &mdash; это $1024$.
<!-- endsource: ru/flow/generated_docs/NYT_NYTree_TSize.md -->

<!-- source: ru/flow/generated_docs/NYT_NYson_EEnumYsonStorageType.md -->
## NYT::NYson::EEnumYsonStorageType {#NYT_NYson_EEnumYsonStorageType}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `string` |  ||
|| `int` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NYson_EEnumYsonStorageType.md -->

<!-- source: ru/flow/generated_docs/NYT_NYson_EUtf8Check.md -->
## NYT::NYson::EUtf8Check {#NYT_NYson_EUtf8Check}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->

#|
|| Возможные значения | **Описание** ||
|| `disable` |  ||
|| `log_on_fail` |  ||
|| `throw_on_fail` |  ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NYson_EUtf8Check.md -->

<!-- source: ru/flow/generated_docs/NYT_NYson_TProtobufInteropConfig.md -->
## NYT::NYson::TProtobufInteropConfig {#NYT_NYson_TProtobufInteropConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/yson/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/yson/config.h)

#|
|| **Параметр** | **Описание** ||
|| `default_enum_yson_storage_type` | **Тип**: [NYT::NYson::EEnumYsonStorageType](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYson_EEnumYsonStorageType)
**Значение по умолчанию**: `string`
 ||
|| `utf8_check` | **Тип**: [NYT::NYson::EUtf8Check](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYson_EUtf8Check)
**Значение по умолчанию**: `throw_on_fail`
 ||
|| `force_snake_case_names` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|| `force_enum_string_type` | **Тип**: `bool`
**Значение по умолчанию**: `false`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NYson_TProtobufInteropConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_NYson_TProtobufInteropDynamicConfig.md -->
## NYT::NYson::TProtobufInteropDynamicConfig {#NYT_NYson_TProtobufInteropDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/yson/config.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/yson/config.h)

#|
|| **Параметр** | **Описание** ||
|| `utf8_check` | **Тип**: `std::optional<`[NYT::NYson::EUtf8Check](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYson_EUtf8Check)`>`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_NYson_TProtobufInteropDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/NYT_TSingletonsDynamicConfig.md -->
## NYT::TSingletonsDynamicConfig {#NYT_TSingletonsDynamicConfig}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
Источник: [yt/yt/core/misc/configurable_singleton_def.h](https://github.com/ytsaurus/ytsaurus/tree/main/yt/yt/core/misc/configurable_singleton_def.h)

#|
|| **Параметр** | **Описание** ||
|| `logging` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NLogging::TLogManagerDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NLogging_TLogManagerDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `grpc_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::NGrpc::TDispatcherDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_NGrpc_TDispatcherDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `jaeger` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTracing::TJaegerTracerDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTracing_TJaegerTracerDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tcmalloc` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NTCMalloc::TDynamicTCMallocConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NTCMalloc_TDynamicTCMallocConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `fiber_manager` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NConcurrency::TFiberManagerDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NConcurrency_TFiberManagerDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `pipe_io_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NPipeIO::TPipeIODispatcherDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NPipeIO_TPipeIODispatcherDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `tcp_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NBus::NTcp::TDispatcherDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NBus_NTcp_TDispatcherDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `solomon_registry` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NProfiling::TSolomonRegistryDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NProfiling_TSolomonRegistryDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `rpc_dispatcher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NRpc::TDispatcherDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NRpc_TDispatcherDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `error_backtrace_enricher` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NFlow::TBacktraceEnricherDynamicSpec](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NFlow_TBacktraceEnricherDynamicSpec)`>`
**Значение по умолчанию**: `{}`
 ||
|| `query_engine_config` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NQueryClient::TQueryEngineDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NQueryClient_TQueryEngineDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|| `protobuf_interop` | **Тип**: `NYT::TIntrusivePtr<`[NYT::NYson::TProtobufInteropDynamicConfig](https://ytsaurus.tech/docs/ru/flow/generated_docs/all_yson_structs.md#NYT_NYson_TProtobufInteropDynamicConfig)`>`
**Значение по умолчанию**: `{}`
 ||
|#
<!-- endsource: ru/flow/generated_docs/NYT_TSingletonsDynamicConfig.md -->

<!-- source: ru/flow/generated_docs/TDuration.md -->
## TDuration {#TDuration}
<!-- This file is generated by yt/yt/flow/yandex/tools/generate_yson_struct_doc/generate.sh script -->
<!-- Before using doc generation tool check readme: yt/yt/flow/yandex/tools/generate_yson_struct_doc/README.md -->
**Описание**:
Тип продолжительности временного промежутка. Он может парситься из yson-значений следующих типов:
* uint64. Задаёт время в **миллисекундах**.
* int64. Так же как и uint64. Выбрасывается исключение в случае отрицательного значения.
* double. Так же как и int64. Поведение в случае значения выходящего за пределы значений uint64 не определено.
* string. Задаёт время в форматах: `10s`, `15ms`, `15.05s`, `20us`, `25`. Если суффикс не указан, то число трактуется как время в **секундах**.
<!-- endsource: ru/flow/generated_docs/TDuration.md -->
