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

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

NYT::NApi::EConnectionType

Возможные значения

Описание

native

rpc

NYT::NApi::NRpcProxy::EAddressType

Возможные значения

Описание

internal_rpc

monitoring_http

http

https

public_rpc

chyt_http

chyt_https

NYT::NApi::NRpcProxy::TConnectionConfig

Источник: yt/yt/client/api/rpc_proxy/config.h

Параметр

Описание

connection_type

Тип: NYT::NApi::EConnectionType
Значение по умолчанию: native

cluster_name

Тип: std::optional<std::string>

table_mount_cache

Тип: NYT::TIntrusivePtr<NYT::NApi::TTableMountCacheConfig>
Значение по умолчанию: {}

replication_card_cache

Тип: NYT::TIntrusivePtr<NYT::NChaosClient::TReplicationCardCacheConfig>

chaos_lease_cache

Тип: NYT::TIntrusivePtr<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>

proxy_network_name

Тип: std::optional<std::string>

proxy_addresses

Тип: std::optional<std::vector<std::string>>

proxy_endpoints

Тип: NYT::TIntrusivePtr<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>
Значение по умолчанию: {}

ping_period

Тип: TDuration
Значение по умолчанию: 3s

proxy_list_update_period

Тип: TDuration
Значение по умолчанию: 5m

proxy_list_retry_period

Тип: TDuration
Значение по умолчанию: 1s

max_proxy_list_retry_period

Тип: TDuration
Значение по умолчанию: 30s

max_proxy_list_update_attempts

Тип: int
Значение по умолчанию: 3

rpc_timeout

Тип: TDuration
Значение по умолчанию: 30s

rpc_acknowledgement_timeout

Тип: std::optional<TDuration>
Значение по умолчанию: 15000

timestamp_provider_latest_timestamp_update_period

Тип: TDuration
Значение по умолчанию: 3s

default_transaction_timeout

Тип: TDuration
Значение по умолчанию: 30s

default_lookup_rows_timeout

Тип: TDuration
Значение по умолчанию: 30s

default_select_rows_timeout

Тип: TDuration
Значение по умолчанию: 30s

default_total_streaming_timeout

Тип: TDuration
Значение по умолчанию: 15m

default_streaming_stall_timeout

Тип: TDuration
Значение по умолчанию: 1m

use_total_streaming_timeout_for_heavy_reads

Тип: bool
Значение по умолчанию: true

default_chaos_lease_timeout

Тип: TDuration
Значение по умолчанию: 30s

default_ping_period

Тип: TDuration
Значение по умолчанию: 5s

bus_client

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TBusConfig>
Значение по умолчанию: {}

idle_channel_ttl

Тип: TDuration
Значение по умолчанию: 5m

http_client

Тип: NYT::TIntrusivePtr<NYT::NHttp::TClientConfig>
Значение по умолчанию: {}

https_client

Тип: NYT::TIntrusivePtr<NYT::NHttps::TClientConfig>
Значение по умолчанию: {}

request_codec

Тип: NYT::NCompression::ECodec
Значение по умолчанию: none

response_codec

Тип: NYT::NCompression::ECodec
Значение по умолчанию: none

enable_legacy_rpc_codecs

Тип: bool
Значение по умолчанию: false

enable_retries

Тип: bool
Значение по умолчанию: false

retrying_channel

Тип: NYT::TIntrusivePtr<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

NYT::NApi::TTableMountCacheConfig

Источник: yt/yt/client/api/config.h

Параметр

Описание

shard_count

Тип: unsigned long
Значение по умолчанию: 1

expire_after_access_time

Тип: TDuration
Значение по умолчанию: 30m

expire_after_successful_update_time

Тип: TDuration
Значение по умолчанию: 30m

expire_after_failed_update_time

Тип: TDuration
Значение по умолчанию: 15s

refresh_time

Тип: std::optional<TDuration>
Значение по умолчанию: 30000

expiration_period

Тип: std::optional<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
Значение по умолчанию: 1s

NYT::NBus::EEncryptionMode

Возможные значения

Описание

disabled

optional

required

NYT::NBus::EVerificationMode

Возможные значения

Описание

none

ca

full

NYT::NBus::NTcp::TBusConfig

Источник: 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
Значение по умолчанию: 100ms

max_rto

Тип: TDuration
Значение по умолчанию: 30s

rto_scale

Тип: double
Значение по умолчанию: 2.0

connect_timeout

Тип: TDuration
Значение по умолчанию: 15s

ca

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

cert_chain

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

private_key

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

ssl_configuration_commands

Тип: std::vector<NYT::TIntrusivePtr<NYT::NCrypto::TSslContextCommand>>
Значение по умолчанию: []

insecure_skip_verify

Тип: bool
Значение по умолчанию: false

enable_quick_ack

Тип: bool
Значение по умолчанию: true

bind_retry_count

Тип: int
Значение по умолчанию: 5

bind_retry_backoff

Тип: TDuration
Значение по умолчанию: 3s

connection_start_delay

Тип: std::optional<TDuration>

packet_decoder_delay

Тип: std::optional<TDuration>

read_stall_timeout

Тип: TDuration
Значение по умолчанию: 1m

write_stall_timeout

Тип: TDuration
Значение по умолчанию: 1m

verify_checksums

Тип: bool
Значение по умолчанию: true

generate_checksums

Тип: bool
Значение по умолчанию: true

enable_local_bypass

Тип: bool
Значение по умолчанию: true

encryption_mode

Тип: NYT::NBus::EEncryptionMode
Значение по умолчанию: optional

verification_mode

Тип: 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>

NYT::NBus::NTcp::TBusServerConfig

Источник: 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
Значение по умолчанию: 100ms

max_rto

Тип: TDuration
Значение по умолчанию: 30s

rto_scale

Тип: double
Значение по умолчанию: 2.0

connect_timeout

Тип: TDuration
Значение по умолчанию: 15s

ca

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

cert_chain

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

private_key

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

ssl_configuration_commands

Тип: std::vector<NYT::TIntrusivePtr<NYT::NCrypto::TSslContextCommand>>
Значение по умолчанию: []

insecure_skip_verify

Тип: bool
Значение по умолчанию: false

enable_quick_ack

Тип: bool
Значение по умолчанию: true

bind_retry_count

Тип: int
Значение по умолчанию: 5

bind_retry_backoff

Тип: TDuration
Значение по умолчанию: 3s

connection_start_delay

Тип: std::optional<TDuration>

packet_decoder_delay

Тип: std::optional<TDuration>

read_stall_timeout

Тип: TDuration
Значение по умолчанию: 1m

write_stall_timeout

Тип: TDuration
Значение по умолчанию: 1m

verify_checksums

Тип: bool
Значение по умолчанию: true

generate_checksums

Тип: bool
Значение по умолчанию: true

enable_local_bypass

Тип: bool
Значение по умолчанию: true

encryption_mode

Тип: NYT::NBus::EEncryptionMode
Значение по умолчанию: optional

verification_mode

Тип: 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

NYT::NBus::NTcp::TDispatcherConfig

Источник: yt/yt/core/bus/tcp/config.h

Параметр

Описание

thread_pool_size

Тип: int
Значение по умолчанию: 8

thread_pool_polling_period

Тип: 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>>
Значение по умолчанию: {}

bus_certs_directory_path

Тип: std::optional<std::string>

enable_local_bypass

Тип: bool
Значение по умолчанию: false

NYT::NBus::NTcp::TDispatcherDynamicConfig

Источник: yt/yt/core/bus/tcp/config.h

Параметр

Описание

thread_pool_size

Тип: std::optional<int>

thread_pool_polling_period

Тип: std::optional<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>>>

bus_certs_directory_path

Тип: std::optional<std::string>

enable_local_bypass

Тип: std::optional<bool>

NYT::NBus::NTcp::TMultiplexingBandConfig

Источник: 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

NYT::NChaosClient::TChaosLeaseCacheConfig

Источник: yt/yt/client/chaos_client/config.h

Параметр

Описание

shard_count

Тип: unsigned long
Значение по умолчанию: 1

expire_after_access_time

Тип: TDuration
Значение по умолчанию: 1d

expire_after_successful_update_time

Тип: TDuration
Значение по умолчанию: 1d

expire_after_failed_update_time

Тип: TDuration
Значение по умолчанию: 1m

refresh_time

Тип: std::optional<TDuration>
Значение по умолчанию: YsonEntity

expiration_period

Тип: std::optional<TDuration>
Значение по умолчанию: 10000

batch_update

Тип: bool
Значение по умолчанию: false

retry_backoff_time

Тип: TDuration
Значение по умолчанию: 3s

retry_attempts

Тип: int
Значение по умолчанию: 10

enable_exponential_retry_backoffs

Тип: bool
Значение по умолчанию: false

retry_backoff

Тип: NYT::TExponentialBackoffOptions
Значение по умолчанию:

{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 1.5;
    "invocation_count" = 10;
    "max_backoff" = 5000;
    "min_backoff" = 1000;
}

retry_timeout

Тип: std::optional<TDuration>

discover_timeout

Тип: TDuration
Значение по умолчанию: 15s

acknowledgement_timeout

Тип: TDuration
Значение по умолчанию: 15s

rediscover_period

Тип: TDuration
Значение по умолчанию: 1m

rediscover_splay

Тип: TDuration
Значение по умолчанию: 15s

hard_backoff_time

Тип: TDuration
Значение по умолчанию: 1m

soft_backoff_time

Тип: 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
Значение по умолчанию: 1s

enable_peer_polling

Тип: bool
Значение по умолчанию: false

peer_polling_period

Тип: TDuration
Значение по умолчанию: 1m

peer_polling_period_splay

Тип: TDuration
Значение по умолчанию: 10s

peer_polling_request_timeout

Тип: TDuration
Значение по умолчанию: 15s

peer_priority_strategy

Тип: NYT::NRpc::EPeerPriorityStrategy
Значение по умолчанию: none

discovery_session_timeout

Тип: TDuration

disable_balancing_on_single_address

Тип: bool
Значение по умолчанию: true

hedging_delay

Тип: std::optional<TDuration>

cancel_primary_request_on_hedging

Тип: bool
Значение по умолчанию: false

addresses

Тип: std::optional<std::vector<std::string>>

endpoints

Тип: NYT::TIntrusivePtr<NYT::NRpc::TServiceDiscoveryEndpointsConfig>

enable_watching

Тип: bool

NYT::NChaosClient::TReplicationCardCacheConfig

Источник: yt/yt/client/chaos_client/config.h

Параметр

Описание

shard_count

Тип: unsigned long
Значение по умолчанию: 1

expire_after_access_time

Тип: TDuration
Значение по умолчанию: 1m

expire_after_successful_update_time

Тип: TDuration
Значение по умолчанию: 1m

expire_after_failed_update_time

Тип: TDuration
Значение по умолчанию: 1m

refresh_time

Тип: std::optional<TDuration>
Значение по умолчанию: 10000

expiration_period

Тип: std::optional<TDuration>
Значение по умолчанию: 10000

batch_update

Тип: bool
Значение по умолчанию: false

retry_backoff_time

Тип: TDuration
Значение по умолчанию: 3s

retry_attempts

Тип: int
Значение по умолчанию: 10

enable_exponential_retry_backoffs

Тип: bool
Значение по умолчанию: false

retry_backoff

Тип: NYT::TExponentialBackoffOptions
Значение по умолчанию:

{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 1.5;
    "invocation_count" = 10;
    "max_backoff" = 5000;
    "min_backoff" = 1000;
}

retry_timeout

Тип: std::optional<TDuration>

discover_timeout

Тип: TDuration
Значение по умолчанию: 15s

acknowledgement_timeout

Тип: TDuration
Значение по умолчанию: 15s

rediscover_period

Тип: TDuration
Значение по умолчанию: 1m

rediscover_splay

Тип: TDuration
Значение по умолчанию: 15s

hard_backoff_time

Тип: TDuration
Значение по умолчанию: 1m

soft_backoff_time

Тип: 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
Значение по умолчанию: 1s

enable_peer_polling

Тип: bool
Значение по умолчанию: false

peer_polling_period

Тип: TDuration
Значение по умолчанию: 1m

peer_polling_period_splay

Тип: TDuration
Значение по умолчанию: 10s

peer_polling_request_timeout

Тип: TDuration
Значение по умолчанию: 15s

peer_priority_strategy

Тип: NYT::NRpc::EPeerPriorityStrategy
Значение по умолчанию: none

discovery_session_timeout

Тип: TDuration

disable_balancing_on_single_address

Тип: bool
Значение по умолчанию: true

hedging_delay

Тип: std::optional<TDuration>

cancel_primary_request_on_hedging

Тип: bool
Значение по умолчанию: false

addresses

Тип: std::optional<std::vector<std::string>>

endpoints

Тип: NYT::TIntrusivePtr<NYT::NRpc::TServiceDiscoveryEndpointsConfig>

enable_watching

Тип: bool

watched_cache

Тип: NYT::TIntrusivePtr<NYT::NChaosClient::TWatchedReplicationCardCacheConfig>
Значение по умолчанию: {}

NYT::NChaosClient::TWatchedReplicationCardCacheConfig

Источник: yt/yt/client/chaos_client/config.h

Параметр

Описание

shard_count

Тип: unsigned long
Значение по умолчанию: 1

expire_after_access_time

Тип: TDuration
Значение по умолчанию: 1d

expire_after_successful_update_time

Тип: TDuration
Значение по умолчанию: 1d

expire_after_failed_update_time

Тип: TDuration
Значение по умолчанию: 1m

refresh_time

Тип: std::optional<TDuration>
Значение по умолчанию: YsonEntity

expiration_period

Тип: std::optional<TDuration>
Значение по умолчанию: 10000

batch_update

Тип: bool
Значение по умолчанию: false

NYT::NClient::NCache::TClientsCacheConfig

Источник: yt/yt/client/cache/config.h

Параметр

Описание

default_connection

Тип: NYT::TIntrusivePtr<NYT::NApi::NRpcProxy::TConnectionConfig>
Значение по умолчанию: {}

per_cluster_connection

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NApi::NRpcProxy::TConnectionConfig>>
Значение по умолчанию: {}

NYT::NCodegen::EOptimizationLevel

Возможные значения

Описание

none

default

NYT::NCompression::ECodec

Возможные значения

Описание

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

NYT::NConcurrency::EExecutionStackKind

Возможные значения

Описание

small

large

huge

NYT::NConcurrency::TFiberManagerConfig

Источник: yt/yt/core/concurrency/config.h

Параметр

Описание

fiber_stack_sizes

Тип: THashMap<NYT::NConcurrency::EExecutionStackKind, unsigned long>
Значение по умолчанию: {}

fiber_stack_pool_sizes

Тип: THashMap<NYT::NConcurrency::EExecutionStackKind, int>
Значение по умолчанию: {}

max_idle_fibers

Тип: int
Значение по умолчанию: 5000

NYT::NConcurrency::TFiberManagerDynamicConfig

Источник: yt/yt/core/concurrency/config.h

Параметр

Описание

fiber_stack_sizes

Тип: THashMap<NYT::NConcurrency::EExecutionStackKind, unsigned long>
Значение по умолчанию: {}

fiber_stack_pool_sizes

Тип: THashMap<NYT::NConcurrency::EExecutionStackKind, int>
Значение по умолчанию: {}

max_idle_fibers

Тип: std::optional<int>

NYT::NCoreDump::TCoreDumperConfig

Источник: yt/yt/library/coredumper/config.h

Параметр

Описание

path

Тип: std::string
Обязательный параметр

pattern

Тип: std::string
Значение по умолчанию: core.%CORE_DATETIME.%CORE_PID.%CORE_SIG.%CORE_THREAD_NAME-%CORE_REASON

NYT::NCrypto::TPemBlobConfig

Источник: yt/yt/core/crypto/config.h

Параметр

Описание

environment_variable

Тип: std::optional<std::string>

file_name

Тип: std::optional<std::string>

value

Тип: std::optional<std::string>

NYT::NCrypto::TSslContextCommand

Источник: yt/yt/core/crypto/config.h

Параметр

Описание

name

Тип: std::string
Обязательный параметр

value

Тип: std::string
Обязательный параметр

NYT::NFlow::EBacktraceEnricherLevel

Возможные значения

Описание

enabled_for_all

enabled_for_trivial_errors

enabled_for_not_native_errors

disabled

NYT::NFlow::EBalanceResource

Возможные значения

Описание

cpu

memory

NYT::NFlow::EBalancerMetricsSource

Возможные значения

Описание

job

Только метрики текущей джобы: 10-минутная, а пока её нет — 30-секундная и мгновенная. Прежнее поведение.

partition

10-минутная метрика текущей джобы, а пока её нет — сохранённая история партиции (замер предыдущей джобы, переживает переезд и рестарт).

NYT::NFlow::EClickHouseCodec

Возможные значения

Описание

none

Без сжатия.

lz4

Сжатие LZ4: минимальная нагрузка на CPU при умеренной степени сжатия.

zstd

Сжатие ZSTD: выше степень сжатия ценой большей нагрузки на CPU.

NYT::NFlow::EClickHouseHostSelectionPolicy

Возможные значения

Описание

ordered_round_robin

Сохраняет заданный порядок хостов; используется по умолчанию.

random_start

Один раз при создании клиента выбирает равновероятную начальную позицию, затем сохраняет полный круговой порядок перебора всех хостов.

NYT::NFlow::EDistributionOrdering

Возможные значения

Описание

strict

Выходные сообщения (созданные из входных сообщений с одинаковым ключом) распределяются в порядке их создания. Этот порядок переживает репартиционирование (невозможна гонка между останавливающимися и работающими партициями, раздающими исходящие сообщения, порожденные из входящих сообщений с одним ключом).

relaxed

Допускается гонка между останавливающимися и работающими партициями. Немного уменьшает задержки в обработке сообщений при репартиционировании.

NYT::NFlow::EFetchType

Возможные значения

Описание

select_rows

Поддерживает динамические (в том числе реплицированные) таблицы, не поддерживает read-ahead, запросы идут сразу к таблетным нодам (рекомендуемый вариант).

table_reader

Поддерживает динамические и статические таблицы, поддерживает read-ahead, запросы идут через мастер-ноду.

NYT::NFlow::EFlowStateTarget

Возможные значения

Описание

all

Все категории стейтов (по умолчанию).

key_state

Только key_states.

partition_state

Только partition_states.

external_key_state

Только external-стейты (external_key_states и, для read-states, joined_external_key_states).

NYT::NFlow::EJobBalancerType

Возможные значения

Описание

greedy

cpu_aware

resource_queue

NYT::NFlow::EPipelineState

Возможные значения

Описание

unknown

Дефолтное значение состояния для еще не запущенного пайплайна.

stopped

Пайплайн остановлен. Выполнен draining — все промежуточные сообщения в пайплайне обработаны, актуальные обработанные оффсеты в очереди-источники закоммичены. Все джобы остановлены.
В этом состоянии можно безопасно катить релиз пайплайна и обновлять его статическую спеку.
Запустить запуск перехода в это состояние можно командой stop-pipeline.

paused

Пайплайн приостановлен. Все джобы остановлены, но промежуточные сообщения в пайплайне могут быть не обработаны.
Запустить запуск перехода в это состояние можно командой pause-pipeline.

working

Пайплайн работает. Сообщения обрабатываются.
Запустить запуск перехода в это состояние можно командой start-pipeline.

draining

Промежуточное состояние. Пайплайн в процессе остановки (переход в состояние stopped). Дообрабатываются все сообщения, что уже были просмотрены пайплайном из источников и все внутренние промежуточные сообщения между компьютейшенами.

pausing

Промежуточное состояние. Пайплайн в процессе приостановки. Все джобы останавливаются.

completed

Финальное состояние. Пайплайн завершен. Все источники были конечными (finite) и все сообщения из них обработаны.
Выйти из этого состояния сейчас нельзя, только пересоздавать пайплайн.

NYT::NFlow::EProcessingMode

Возможные значения

Описание

exactly_once

Значение по умолчанию. Результат работы Transform, включая выходные сообщения, обработанные сообщения и т.п. - коммитится в YTsaurus в рамках одной транзакции. При этом все входные сообщения дедуплицируются по message_id.

at_least_once_consistent

В данном режиме отключается дедупликация входных сообщений. В этом режиме TransformComputation перестает взаимодействовать с таблицей input_messages. Входные сообщения могут быть обработаны несколько раз, при этом результат обработки каждый раз будет сохранен в output_messages и гарантированно будет обработан следующими Computation. Этот режим можно использовать, если дубли не являются проблемой, например, так как пользовательская логика сама умеет дедуплицировать лишние сообщения. Дубли могут возникать при любых рестартах/падениях джобов (в том числе при решедулинге). Остановка системы через draining с помощью stop-pipeline, однако, к нарушению гарантий не приводит (если только в процессе не рестартовали джобы по какой-то иной причине).

NYT::NFlow::EQueueTabletIndexRoutingHashPolicy

Возможные значения

Описание

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.

NYT::NFlow::ETimeType

Возможные значения

Описание

event_time

system_time

current_time

NYT::NFlow::ETimestampFormat

Возможные значения

Описание

seconds

milli_seconds

iso8601

NYT::NFlow::EUnavailableSourcePolicy

Возможные значения

Описание

retry

Значение по умолчанию. Ошибка чтения источника роняет итерацию обхода, чтение повторяется; обход не продвигается за непрочитанный диапазон.

mark_unreadable

Ошибка чтения источника проглатывается, обход идёт дальше, а ключи непрочитанного диапазона резолвятся неинициализированным аксессором (IsInitialized() == false).

NYT::NFlow::EWorkerCoefMode

Возможные значения

Описание

legacy

По текущей загрузке партиций каждого воркера относительно средних по компьютейшнам. Прежнее поведение.

probing

По партициям, переехавшим между воркерами: CPU на сообщение до и после переезда.

NYT::NFlow::NCompanion::TCompanionConfig

Источник: 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>
Значение по умолчанию: {}
Конфиг HTTP-клиента, который C++-компаньон отдаёт process function-ам через IRuntimeInitContext::GetHttpClient(). Зеркалит одноимённое поле TFlowNodeConfig; компаньоны на других языках его игнорируют.

https_client_config

Тип: NYT::TIntrusivePtr<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-клиенты. Компаньоны на других языках его игнорируют.

NYT::NFlow::NController::TControllerConfig

Источник: yt/yt/flow/library/cpp/controller/config.h

Параметр

Описание

controller_threads

Тип: int
Значение по умолчанию: 5
Число тредов.

orchid_update_period

Тип: TDuration
Значение по умолчанию: 1s
Период пересчёта orchid.

warm_up_time

Тип: TDuration
Значение по умолчанию: 5s
Период разогрева при старте контроллера.

scheduler_period

Тип: TDuration
Значение по умолчанию: 5s
Период запуска планировщика.

cache_period

Тип: TDuration
Значение по умолчанию: 1s

feedback_period

Тип: TDuration
Значение по умолчанию: 1s

metrics_period

Тип: TDuration
Значение по умолчанию: 5s

write_own_retryable_errors_period

Тип: TDuration
Значение по умолчанию: 5s

publish_retry_period

Тип: TDuration
Значение по умолчанию: 5s
Период, в течение которого контроллер пытается передать в YTsaurus информацию, что является лидером.

publish_timeout

Тип: 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>>>
Значение по умолчанию:

{
    "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>
Значение по умолчанию: {}
Настройки PersistedStateManager.

lease_manager

Тип: NYT::TIntrusivePtr<NYT::NFlow::NController::TLeaseManagerConfig>
Значение по умолчанию: {}
Настройки LeaseManager.

controller_service

Тип: NYT::TIntrusivePtr<NYT::NFlow::NController::TControllerServiceConfig>
Значение по умолчанию: {}
Настройки ControllerService.

bus

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TBusConfig>
Значение по умолчанию: {}

Дополнительные параметры

publish_request_timeout

Тип: TDuration
Значение по умолчанию: 1s
Таймаут одного запроса попытки публикации. Неудачная попытка повторяется, так что этот параметр определяет только то, как долго одна попытка может висеть до повтора.

NYT::NFlow::NController::TControllerServiceConfig

Источник: yt/yt/flow/library/cpp/controller/config.h

Параметр

Описание

set_spec_retry_count

Тип: int
Значение по умолчанию: 3
Количество попыток обновления спеки в случае ошибок.

set_spec_retry_period

Тип: TDuration
Значение по умолчанию: 5s
Время между попытками.

tables_throttler

Тип: NYT::TIntrusivePtr<NYT::NFlow::TLoadThroughputThrottlerSpec>
Значение по умолчанию: {}

NYT::NFlow::NController::TLeaseManagerConfig

Источник: yt/yt/flow/library/cpp/controller/config.h

Параметр

Описание

lease_timeout

Тип: TDuration
Значение по умолчанию: 10m
Сколько джоба остаётся отгороженной без обновления фенса контроллером. С кипарисным бэкендом выборов это таймаут мастер-транзакции лиза джобы, с хаосным — таймаут его хаос-лиза, с дин-табличным — время жизни общей для пайплайна строки дедлайна, через которую проходит каждый коммит воркера.

lease_ping_period

Тип: TDuration
Значение по умолчанию: 30s
Период, с которым лидер продлевает лизы. Продлевает всегда лидер, а не воркер, но механика у бэкендов разная: хаосные лизы пингует один периодик, кипарисные — по клиентскому пингеру на транзакцию лиза, а общий дин-табличный дедлайн просто переписывается.

max_concurrent_requests

Тип: long
Значение по умолчанию: 500
Максимальное количество одновременных запросов, которые менеджер держит в полёте при прицеплении лизов и их прекращении. Не увеличивайте, чтобы избежать перегрузки мастера. На продление не распространяется: хаосные пинги рассылаются одним раундом без ожидания, а кипарисные принадлежат самим транзакциям лизов.

NYT::NFlow::NController::TPersistedStateManagerConfig

Источник: yt/yt/flow/library/cpp/controller/config.h

Параметр

Описание

timeout

Тип: TDuration
Значение по умолчанию: 5s
Таймаут сохранения в YTsaurus.

max_reads_per_transaction

Тип: long
Значение по умолчанию: 10000

max_writes_per_transaction

Тип: long
Значение по умолчанию: 10000

NYT::NFlow::NDeltaCodecs::ECodec

Возможные значения

Описание

none

x_delta

v_c_diff

NYT::NFlow::NFileStorage::TFileStorageConfig

Источник: 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
Значение по умолчанию: 1m
Период фоновой проверки состояния кеша и очистки незакреплённых объектов до soft_size_limit.

NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec

Источник: yt/yt/flow/library/cpp/connectors/static_table/source_spec.h

Параметр

Описание

attribute

Тип: std::string
Обязательный параметр

format

Тип: NYT::NFlow::ETimestampFormat
Значение по умолчанию: iso8601

timezone

Тип: std::optional<std::string>
Опциональная временная зона IANA для интерпретации таймстемпов ISO 8601 без явного смещения UTC. Явное смещение имеет приоритет. Параметр можно использовать только с format=iso8601. Если параметр не указан, таймстемпы без смещения для обратной совместимости интерпретируются как UTC.

NYT::NFlow::NWorker::TWorkerConfig

Источник: yt/yt/flow/library/cpp/worker/config.h

Параметр

Описание

bus

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TBusConfig>
Значение по умолчанию: {}

message_service_threads

Тип: int
Значение по умолчанию: 3

file_storage

Тип: NYT::TIntrusivePtr<NYT::NFlow::NFileStorage::TFileStorageConfig>
Опциональный постоянный локальный кеш исходных данных файловых ресурсов. Он обязателен для воркера, загружающего файловый ресурс.

NYT::NFlow::TAtMostOnceStrategyDynamicParameters

Источник: yt/yt/flow/library/cpp/connectors/common/async_at_most_once_sink_base.h

Параметр

Описание

suspend_destruction_duration

Тип: TDuration
Значение по умолчанию: 10s

total_queue_bytes_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 100Mi

NYT::NFlow::TAtMostOnceStrategyParameters

Источник: yt/yt/flow/library/cpp/connectors/common/async_at_most_once_sink_base.h

Параметр

Описание

enabled

Тип: bool
Значение по умолчанию: false

NYT::NFlow::TAuthenticatorConfig

Источник: yt/yt/flow/library/cpp/common/authenticator.h

Параметр

Описание

require_proxy_signature

Тип: bool
Значение по умолчанию: false

NYT::NFlow::TBacktraceEnricherDynamicSpec

Источник: yt/yt/flow/library/cpp/misc/error_backtrace_enricher.h

Параметр

Описание

level

Тип: std::optional<NYT::NFlow::EBacktraceEnricherLevel>

NYT::NFlow::TBacktraceEnricherSpec

Источник: yt/yt/flow/library/cpp/misc/error_backtrace_enricher.h

Параметр

Описание

level

Тип: NYT::NFlow::EBacktraceEnricherLevel
Значение по умолчанию: disabled

NYT::NFlow::TComputationSpec

Источник: 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}} — stream1 зависит от потоков stream2 и stream3.

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

  • у timer-потоков в списке будут все input- и source-потоки;
  • у output-потоков — все timer, input и source.

watermark_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TWatermarkStrategySpec>
Значение по умолчанию: {}
Настройки, связанные с EventWatermark.

Необязательный параметр. Должен быть указан в рамках SourceComputation.

required_resource_ids

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<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>>
Значение по умолчанию: {}
Настройки всех timer потоков. Ключи должны соответствовать [0-9A-Za-z_-]+.

key_visitor_streams

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TKeyVisitorStreamSpec>>
Значение по умолчанию: {}
Настройки всех key_visitor потоков. Ключи должны соответствовать [0-9A-Za-z_-]+.

source_streams

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TSourceSpec>>
Значение по умолчанию: {}
Настройки всех source потоков. Ключи должны соответствовать [0-9A-Za-z_-]+.

sinks

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TSinkIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TSinkSpec>>
Значение по умолчанию: {}
Настройки всех sink. Ключи должны соответствовать [0-9A-Za-z_-]+.

external_state_managers

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TExternalStateManagerSpec>>
Значение по умолчанию: {}
Декларативное объявление external state менеджеров для этого Computation. Ключ — имя клиента, которое process function передаёт в InitExternalStateClient (должен начинаться с /, например /state); значение содержит имя класса менеджера и его параметры.

external_state_joiners

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TExternalStateJoinerSpec>>
Значение по умолчанию: {}
Декларативное объявление external state joiner'ов (read-only-доступ к внешним стейтам через join по ключу) для этого Computation. Ключ — имя клиента, которое process function передаёт в InitExternalStateClient (должен начинаться с /, например /state); значение содержит имя класса joiner'а и его параметры.

state_joiners

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TStateJoinerSpec>>
Значение по умолчанию: {}
Декларативное объявление state joiner'ов (read-only-доступ к внутреннему стейту другого Computation через join по ключу) для этого Computation. Ключ — имя клиента, которое process function передаёт в InitClient (должен начинаться с /); значение указывает целевой computation_id, его state_name и join_on.

heavy_hitters

Тип: NYT::NFlow::THeavyHittersSpec
Значение по умолчанию: {}
Настройки обнаружения высокочастотных ключей.

pivot_finder

Тип: NYT::NFlow::TPivotFinderSpec
Значение по умолчанию: {}

input_ordering

Тип: NYT::TIntrusivePtr<NYT::NFlow::TInputOrderingSpec>
Значение по умолчанию: {}
Настройки порядка обработки входных потоков.

distribution_ordering

Тип: 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 для дедупликации входных сообщений вместо input_messages. Компактный ключ дедупликации хранит только хеш key[0] и CityHash128(message_id), что снижает размер строки (~200 байт → ~71 байт).

Необязательный параметр. Если значение не задано, таблица выбирается автоматически: компактная используется всегда, кроме случая, когда включён experimental_enable_non_uint_key (тогда первая колонка ключа может быть не uint64, и для дедупликации нужен полный ключ). Явно заданное значение имеет приоритет над автоматическим выбором. Включать use_compact_input_messages вместе с experimental_enable_non_uint_key запрещено.

NYT::NFlow::TDeleteStatesArg

Источник: yt/yt/flow/library/cpp/controller/state_access.h

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

Поддерживаются те же три режима, что и в 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; ...} — для каждой целевой таблицы (key_states Computation'а и каждой таблицы external_state_manager'а/joiner'а с собственной key_schema_override) словарь раскладывается по её ключевой схеме; колонки, отсутствующие в схеме, игнорируются.
  • YSON-список позиционных значений — передаётся в таблицы как есть, без адаптации под их схему.

name

Тип: std::optional<std::string>
Фильтр по точному имени стейта; применяется ко всем секциям (key/partition/external). Если задан, в каждой секции возвращаются только строки с этим именем стейта.

target

Тип: NYT::NFlow::EFlowStateTarget
Значение по умолчанию: all
Какие категории стейтов запрашивать. По умолчанию all.

force

Тип: bool
Значение по умолчанию: false
Разрешает удаление на пайплайне в состоянии Paused. Без force команда требует Stopped/Completed.

commit

Тип: bool
Значение по умолчанию: false
Если true, найденные строки действительно удаляются. Иначе запрос работает в dry-run-режиме и только подсчитывает их.

NYT::NFlow::TDeleteStatesResponse

Источник: yt/yt/flow/library/cpp/controller/state_access.h

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

Параметр

Описание

committed

Тип: bool
Обязательный параметр
Отражает значение commit из аргумента запроса. Если в errors есть записи, часть совпавших строк могла не удалиться — точные счётчики не предоставляются, на практике стейт необходимо перечитать через read-states.

matched_states

Тип: NYT::NFlow::TMatchedStates
Обязательный параметр
Счётчики совпавших строк по категориям. Заполняется всегда: и в dry-run-режиме (показывает, что было бы удалено), и при commit=true (показывает, что было удалено или попало под попытку удаления). См. TMatchedStates.

errors

Тип: std::vector<std::string>
Значение по умолчанию: []
Ошибки, возникшие при формировании ответа на сам запрос (например, упал Sync манагера). Не относятся к ошибкам в работе пайплайна со стейтом. Если такая ошибка случилась для одного из external-стейтов, остальные категории всё равно могут быть обработаны успешно.

NYT::NFlow::TDirectControllerCommandsConfig

Источник: yt/yt/flow/library/cpp/pipeline_helpers/flow_execute/flow_execute.h

Параметр

Описание

enabled

Тип: bool
Значение по умолчанию: false

rpc_timeout

Тип: TDuration
Значение по умолчанию: 30s

NYT::NFlow::TDynamicBufferStateManagerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

manage_period

Тип: TDuration
Значение по умолчанию: 1s
Частота пересчёта размера буфферов.

demand_window

Тип: TDuration
Значение по умолчанию: 1m
Временное окно, на котором оценивается утилизация одного буффера.

input_buffer

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicBufferStateManagerSpec::TOneSideBufferSpec>
Значение по умолчанию: {}
Настройки входного буффера.

output_buffer

Тип: NYT::TIntrusivePtr<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-формулу.

Дополнительные параметры

epoch_cycle_window_samples

Тип: int
Значение по умолчанию: 16
Число сэмплов в окне медианы длительности эпохи джобы.

max_rate_estimator_buckets

Тип: int
Значение по умолчанию: 8
Число бакетов в windowed-max оценщике скорости дрейна; изменение сбрасывает накопленную оценку.

warmup_refresh_period

Тип: 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
Значение по умолчанию: 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.

NYT::NFlow::TDynamicBufferStateManagerSpec::TOneSideBufferSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

fair_share_pool

Тип: 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>
Значение по умолчанию: {}
Замена fair_share_pool для воркеров перечисленных воркер-групп — для инсталляций, где часть воркеров имеет существенно больше памяти. Воркер, состоящий в нескольких перечисленных группах, берёт максимум: пул отражает фактически доступную память воркера.

job_guarantee

Тип: NYT::NYTree::TSize
Значение по умолчанию: 5Mi
Минимальный размер буффера для одной джобы.

job_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 500Mi
Максимальный размер буффера для одной джобы.

max_duration

Тип: 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>>
Значение по умолчанию: {}
Возможность переопределить вручную размер буффера для компьютейшен-стрима.

NYT::NFlow::TDynamicComputationSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

batch_duration

Тип: TDuration
Значение по умолчанию: 1s
Время максимального набора входного батча.

max_rows_per_batch

Тип: NYT::NYTree::TSize
Значение по умолчанию: 1K
Максимальный размер входного батча в строках. Считается отдельно для input_streams, timer_streams и для каждого из source_streams.

max_bytes_per_batch

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10Mi
Максимальный размер входного батча в байтах. Считается аналогично max_rows_per_batch.

max_keys_per_batch

Тип: std::optional<NYT::NYTree::TSize>

draining

Тип: bool
Значение по умолчанию: false
Режим Draining нужен для сброса пайплайна — в нём Computation перестанет запускать таймеры и доставать новые события из Source.

Команда stop-pipeline останавливает весь пайплайн через полный сброс. В отдельных Computation режим можно выставлять для дебага.

empty_batch_backoff

Тип: TDuration
Значение по умолчанию: 250ms
В случае пустой эпохи Computation дополнительно «спит» указанное время. Не рекомендуется выставлять параметр меньше 100 мс.

lease_check_period

Тип: TDuration
Значение по умолчанию: 1m

retryable_request

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicRetryableRequestSpec>
Значение по умолчанию: {}

tracer

Тип: NYT::TIntrusivePtr<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>>
Значение по умолчанию: {}
Динамические параметры всех Sources.

key_visitor_streams

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TDynamicKeyVisitorStreamSpec>>
Значение по умолчанию: {}

sinks

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TSinkIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TDynamicSinkSpec>>
Значение по умолчанию: {}
Динамические параметры всех Sinks.

external_state_managers

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TDynamicExternalStateManagerSpec>>
Значение по умолчанию: {}

external_state_joiners

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TDynamicExternalStateJoinerSpec>>
Значение по умолчанию: {}

state_joiners

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TDynamicStateJoinerSpec>>
Значение по умолчанию: {}

state_manager

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicStateManagerSpec>
Значение по умолчанию: {}

input_store

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicInputStoreSpec>
Значение по умолчанию: {}

timer_store

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicTimerStoreSpec>
Значение по умолчанию: {}

output_store

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicOutputStoreSpec>
Значение по умолчанию: {}

timer_store_count_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 250K

timer_store_byte_size_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 100Mi

output_store_count_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 1G

output_store_byte_size_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 100Gi

blocked_time_window

Тип: 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.

input_bytes_throttler_id

Тип: std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TThrottlerIdTag>>
Аналогично input_rows_throttler_id, но квотируется суммарный byte_size сообщений батча — системный размер их сериализованного представления.

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.

NYT::NFlow::TDynamicControllerConnectorSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

controller_wait_timeout

Тип: TDuration
Значение по умолчанию: 5m
Время, через которое воркер принудительно отключит все джобы в случае потери связи с контроллером.

controller_discover_period

Тип: TDuration
Значение по умолчанию: 10s
Период повторного поиска контроллера.

controller_heartbeat_period

Тип: TDuration
Значение по умолчанию: 1s
Период хартбитов воркера в контроллер.

worker_statistics_report_period

Тип: TDuration
Значение по умолчанию: 30s

controller_heartbeat_rpc_timeout

Тип: TDuration
Значение по умолчанию: 10s
Таймаут хартбита.

controller_heartbeat_failure_backoff

Тип: TDuration
Значение по умолчанию: 1s
Время выдержки на случай ошибки рукопожатия.

controller_handshake_rpc_timeout

Тип: TDuration
Значение по умолчанию: 10s
Таймаут рукопожатия.

controller_handshake_failure_backoff

Тип: TDuration
Значение по умолчанию: 1s

orchid_update_period

Тип: TDuration
Значение по умолчанию: 1s
Период обновления orchid на контроллере.

NYT::NFlow::TDynamicExpiringJobNamedStateCacheSpec

Источник: yt/yt/flow/library/cpp/common/state_cache.h

Параметр

Описание

ttl

Тип: TDuration
Значение по умолчанию: 0

NYT::NFlow::TDynamicExternalStateJoinerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

parameters

Тип: NYT::TIntrusivePtr<NYT::NYTree::IMapNode>
Динамические параметры конкретной реализации joiner'а.

NYT::NFlow::TDynamicExternalStateManagerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

parameters

Тип: NYT::TIntrusivePtr<NYT::NYTree::IMapNode>
Динамические параметры конкретной реализации менеджера.

NYT::NFlow::TDynamicFileProviderSpec

Источник: yt/yt/flow/library/cpp/common/file_provider.h

Параметр

Описание

parameters

Тип: NYT::TIntrusivePtr<NYT::NYTree::IMapNode>
Значение по умолчанию: {}
Динамические параметры зарегистрированной реализации файлового провайдера. Они выбирают будущие ревизии при discovery, но не меняют уже доставленную точную ревизию.

NYT::NFlow::TDynamicInputStoreSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

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

NYT::NFlow::TDynamicJobManagerGroupSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

balancer_type

Тип: NYT::NFlow::EJobBalancerType
Значение по умолчанию: cpu_aware

use_cpu_aware_balancer

Тип: std::optional<bool>
Включает экспериментальную балансировку CPU. Балансировка по умолчанию может приводить к сильному перекосу ресурсов CPU между воркерами.

rebalance_delay_after_pipeline_sync

Тип: TDuration
Значение по умолчанию: 30s

rebalance_target_deviation

Тип: double
Значение по умолчанию: 0.1
Максимальное допустимое отклонение.

rebalance_hot_mode_coeff

Тип: double
Значение по умолчанию: 2.0

rebalance_action_min_time

Тип: TDuration
Значение по умолчанию: 4s

rebalance_action_max_time

Тип: TDuration
Значение по умолчанию: 12s

rebalance_sync_period

Тип: TDuration
Значение по умолчанию: 10s
Период cpu_aware балансировки. Не рекомендуется выставлять значение меньше 15min, так как балансировка смотрит на метрики 10min.

rebalance_count_exceeded_allowed

Тип: double
Значение по умолчанию: 1.2

rebalance_even_load_thresholds

Тип: THashMap<NYT::NFlow::EBalanceResource, NYT::TIntrusivePtr<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, 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
Значение по умолчанию: 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
Значение по умолчанию: legacy
Как cpu_aware балансировщик оценивает относительную скорость воркеров. probing — по партициям, переехавшим между воркерами: сравнивается CPU на сообщение до и после переезда, наблюдения по парам воркеров накапливаются в balancer_state и решаются совместно; без переездов все коэффициенты равны 1. legacy — прежняя оценка по текущей загрузке партиций каждого воркера относительно средних по компьютейшнам. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель.

worker_coef_half_life

Тип: TDuration
Значение по умолчанию: 1d
Период полураспада накопленного наблюдения пары воркеров: при слиянии нового наблюдения старое теряет вес пропорционально прошедшему времени. Без новых наблюдений оценка не меняется.

worker_coef_retention

Тип: 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
Значение по умолчанию: 1s

planning_horizon

Тип: TDuration
Значение по умолчанию: 10m

preloading_timeout

Тип: TDuration
Значение по умолчанию: 30m
Сколько балансер resource_queue держит предзагрузку модели, которая ещё грузится, считая от запроса. До этого предзагрузка не снимается, а воркер считается воркером вычислений, которым нужна модель; после — обычные правила.

minimum_worker_count

Тип: unsigned long
Значение по умолчанию: 1
Минимальное число воркеров, на которые стоит распределять нагрузку.

Должно быть обязательно заполнено, чтобы избежать ошибок Out of memory и перегрузки отдельных воркеров при старте системы. Рекомендуемое значение — около 60% от целевого количества воркеров (чтобы пережить потерю части воркеров, например при отключении одного дата-центра).

lost_job_timeout

Тип: TDuration
Значение по умолчанию: 10s
Через какое время признавать Job потерянным, если в контроллер не приходит обновление статуса джоба. То же время используется, чтобы признавать потерянным воркера.

faulty_address_window

Тип: TDuration
Значение по умолчанию: 5m
Окно на котором считается экспоненциально затухающий счетчик числа потерь соединения контроллера с воркером. Если этот счетчик превышает faulty_address_attempts, то воркер считается faulty и он игнорируется при балансировке. Решает проблему воркеров, у которых постоянно теряется коннект с контроллером. В том числе проблему двух воркеров с разными incarnation id и одним address (когда в деплое оказывается два пода считающих, что у них один и тот же FQDN).

faulty_address_attempts

Тип: unsigned long
Значение по умолчанию: 5
Смотрите описание параметра faulty_address_window.

NYT::NFlow::TDynamicJobManagerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

balancer_type

Тип: NYT::NFlow::EJobBalancerType
Значение по умолчанию: cpu_aware

use_cpu_aware_balancer

Тип: std::optional<bool>
Включает экспериментальную балансировку CPU. Балансировка по умолчанию может приводить к сильному перекосу ресурсов CPU между воркерами.

rebalance_delay_after_pipeline_sync

Тип: TDuration
Значение по умолчанию: 30s

rebalance_target_deviation

Тип: double
Значение по умолчанию: 0.1
Максимальное допустимое отклонение.

rebalance_hot_mode_coeff

Тип: double
Значение по умолчанию: 2.0

rebalance_action_min_time

Тип: TDuration
Значение по умолчанию: 4s

rebalance_action_max_time

Тип: TDuration
Значение по умолчанию: 12s

rebalance_sync_period

Тип: TDuration
Значение по умолчанию: 10s
Период cpu_aware балансировки. Не рекомендуется выставлять значение меньше 15min, так как балансировка смотрит на метрики 10min.

rebalance_count_exceeded_allowed

Тип: double
Значение по умолчанию: 1.2

rebalance_even_load_thresholds

Тип: THashMap<NYT::NFlow::EBalanceResource, NYT::TIntrusivePtr<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, 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
Значение по умолчанию: 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
Значение по умолчанию: legacy
Как cpu_aware балансировщик оценивает относительную скорость воркеров. probing — по партициям, переехавшим между воркерами: сравнивается CPU на сообщение до и после переезда, наблюдения по парам воркеров накапливаются в balancer_state и решаются совместно; без переездов все коэффициенты равны 1. legacy — прежняя оценка по текущей загрузке партиций каждого воркера относительно средних по компьютейшнам. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель.

worker_coef_half_life

Тип: TDuration
Значение по умолчанию: 1d
Период полураспада накопленного наблюдения пары воркеров: при слиянии нового наблюдения старое теряет вес пропорционально прошедшему времени. Без новых наблюдений оценка не меняется.

worker_coef_retention

Тип: 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
Значение по умолчанию: 1s

planning_horizon

Тип: TDuration
Значение по умолчанию: 10m

preloading_timeout

Тип: TDuration
Значение по умолчанию: 30m
Сколько балансер resource_queue держит предзагрузку модели, которая ещё грузится, считая от запроса. До этого предзагрузка не снимается, а воркер считается воркером вычислений, которым нужна модель; после — обычные правила.

minimum_worker_count

Тип: unsigned long
Значение по умолчанию: 1
Минимальное число воркеров, на которые стоит распределять нагрузку.

Должно быть обязательно заполнено, чтобы избежать ошибок Out of memory и перегрузки отдельных воркеров при старте системы. Рекомендуемое значение — около 60% от целевого количества воркеров (чтобы пережить потерю части воркеров, например при отключении одного дата-центра).

lost_job_timeout

Тип: TDuration
Значение по умолчанию: 10s
Через какое время признавать Job потерянным, если в контроллер не приходит обновление статуса джоба. То же время используется, чтобы признавать потерянным воркера.

faulty_address_window

Тип: 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>>
Значение по умолчанию: {}

partition_history_limit

Тип: long
Значение по умолчанию: 4096
Сколько историй партиций балансер хранит между перезапусками джоб, см. balancer_metrics_source. Истории лежат в одном персистентном документе с ограничением на размер, поэтому при достижении предела самая лёгкая история уступает место более тяжёлой, а более лёгкие не сохраняются. При остановке пайплайна истории не сохраняются вовсе.

NYT::NFlow::TDynamicJobTrackerSpec

Источник: 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>
Значение по умолчанию: {}
Конфиг модуля управления буферами для входящих и исходящих сообщений.

load_throughput_throttler

Тип: NYT::TIntrusivePtr<NYT::NFlow::TLoadThroughputThrottlerSpec>
Значение по умолчанию: {'limit': 134217728.0}

state_cache

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicStateCacheSpec>
Значение по умолчанию: {}

mark_performance_metrics_steady_after_first_iteration

Тип: bool
Значение по умолчанию: false
Сообщать счётчики скоростей джобы (CPU, входные сообщения, память) как установившиеся только после первой завершённой итерации с входными данными, чтобы балансировщик читал оконные метрики cpu_usage_10m и подобные после того, как инициализация джобы (выкачка стейта, построение индексов) вымоется из окон; сами счётчики не сбрасываются. Джоба, не получавшая входных данных минуту, тоже считается установившейся: простаивающая джоба сообщает свои околонулевые скорости, а не остаётся неизмеренной. По умолчанию выключено, пока изменение раскатывается по пайплайнам; временный переключатель.

NYT::NFlow::TDynamicKeyVisitorStreamSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

period

Тип: TDuration
Значение по умолчанию: 1d

buffer_row_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 5K

max_scan_rows_per_iteration

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10K

background_fill_period

Тип: TDuration
Значение по умолчанию: 500ms

catchup_lag_threshold

Тип: TDuration
Значение по умолчанию: 1m

catchup_speedup_multiplier

Тип: double
Значение по умолчанию: 1.2

finite

Тип: bool
Значение по умолчанию: true
Конечен ли визитор: при %true он завершается вслед за стримами, за которыми следит (см. upstream_streams в статической спеке), при %false — не завершается никогда.

full_final_pass

Тип: bool
Значение по умолчанию: true

NYT::NFlow::TDynamicMessageDistributorSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

send_queue_max_rows_per_batch

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10K

send_queue_max_bytes_per_batch

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10Mi

send_queue_batch_duration

Тип: TDuration
Значение по умолчанию: 100ms

push_messages_timeout

Тип: TDuration
Значение по умолчанию: 10s

compression_codec

Тип: NYT::NCompression::ECodec
Значение по умолчанию: lz4

thread_count

Тип: int
Значение по умолчанию: 4

hung_task_threshold

Тип: TDuration
Значение по умолчанию: 5m

Дополнительные параметры

max_processed_batch_size

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

NYT::NFlow::TDynamicOutputStoreSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

table_request

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicTableRequestSpec>
Значение по умолчанию: {}

compression_codec

Тип: NYT::NCompression::ECodec
Значение по умолчанию: zstd_6

max_chunk_message_count

Тип: NYT::NYTree::TSize
Значение по умолчанию: 1Ki

NYT::NFlow::TDynamicPartitionTracerSpec

Источник: 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
Значение по умолчанию: 1m

NYT::NFlow::TDynamicPipelineSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

target_state

Тип: NYT::NFlow::EPipelineState
Значение по умолчанию: unknown
Целевое состояние системы. Для изменения используйте команды start-pipeline, stop-pipeline, pause-pipeline.

computations

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TComputationIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TDynamicComputationSpec>>
Значение по умолчанию: {}
Именованное перечисление всех узлов пайплайна.

resources

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TDynamicResourceSpec>>
Значение по умолчанию: {}

throttlers

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TThrottlerIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TDynamicThrottlerSpec>>
Значение по умолчанию: {}
Набор именованных распределённых троттлеров, общих для всех Computation пайплайна. Ключи являются id троттлеров и должны соответствовать [0-9A-Za-z_-]+. Подробнее в разделе Distributed Throttler.

job_manager

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicJobManagerSpec>
Значение по умолчанию: {}
Настройки JobManager.

message_distributor

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicMessageDistributorSpec>
Значение по умолчанию: {}
Настройки MessageDistributor.

job_tracker

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicJobTrackerSpec>
Значение по умолчанию: {}
Настройки JobTracker.

controller_connector

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicControllerConnectorSpec>
Значение по умолчанию: {}
Настройки ControllerConnector.

singletons

Тип: NYT::TIntrusivePtr<NYT::TSingletonsDynamicConfig>
Значение по умолчанию: {}

enable_mermaid_graph_describe

Тип: bool
Значение по умолчанию: false

flow_view_cache_codec

Тип: NYT::NCompression::ECodec
Значение по умолчанию: zstd_2

NYT::NFlow::TDynamicResourceSpec

Источник: 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>>
Значение по умолчанию: {}
Динамические параметры именованных файловых провайдеров ресурса. Изменение параметров немедленно запускает discovery соответствующего провайдера.

file_provider_discover_period

Тип: TDuration
Значение по умолчанию: 30s
Период discovery всех именованных файловых провайдеров ресурса.

file_provider_update_retry_period

Тип: TDuration
Значение по умолчанию: 1m
Период повторной попытки скачивания, инициализации или проверки файлового snapshot.

file_snapshot_min_creation_period

Тип: TDuration
Значение по умолчанию: 5m
Минимальный период между созданием новых полных файловых snapshot. Более частые обновления провайдеров накапливаются до следующего разрешённого snapshot.

file_snapshot_catalog_max_entries

Тип: long
Значение по умолчанию: 1024
Максимальное число файловых snapshot в состоянии контроллера. Текущие Active и Preparing snapshot никогда не вытесняются.

file_snapshot_rollout_warning_period

Тип: TDuration
Значение по умолчанию: 15m
Время после публикации Active файлового snapshot, через которое незавершённый rollout на worker-ах появляется в статусе ресурса.

NYT::NFlow::TDynamicRetryableRequestSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

min_inner_timeout

Тип: TDuration
Значение по умолчанию: 1m

timeout

Тип: TDuration
Значение по умолчанию: 5m

backoff

Тип: NYT::TExponentialBackoffOptions
Значение по умолчанию:

{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 2.;
    "invocation_count" = 30;
    "max_backoff" = 60000;
    "min_backoff" = 1000;
}

lease_check_period

Тип: TDuration
Значение по умолчанию: 1m

NYT::NFlow::TDynamicSimpleExternalStateJoinerSpec

Источник: yt/yt/flow/library/cpp/computation/simple_external_state_manager.h

Параметр

Описание

cache

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicExpiringJobNamedStateCacheSpec>
Значение по умолчанию: {}
Настройки TTL-кэша загруженных стейтов.

NYT::NFlow::TDynamicSimpleExternalStateManagerSpec

Источник: yt/yt/flow/library/cpp/computation/simple_external_state_manager.h

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

NYT::NFlow::TDynamicSinkSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

parameters

Тип: NYT::TIntrusivePtr<NYT::NYTree::IMapNode>
Значение по умолчанию: {}
Произвольные динамические параметры соответствующего класса Sink.

NYT::NFlow::TDynamicSourceSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

parameters

Тип: NYT::TIntrusivePtr<NYT::NYTree::IMapNode>
Значение по умолчанию: {}
Произвольные динамические параметры соответствующего класса Source.

draining

Тип: bool
Значение по умолчанию: false

NYT::NFlow::TDynamicStateCacheSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

compressed_cache_weight

Тип: NYT::NYTree::TSize
Значение по умолчанию: 1Gi
Ограничение на compressed.

uncompressed_cache_weight

Тип: NYT::NYTree::TSize
Значение по умолчанию: 100Mi
Ограничение на uncompressed.

NYT::NFlow::TDynamicStateFormatSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

compression

Тип: NYT::NCompression::ECodec

patch_compression

Тип: NYT::NCompression::ECodec

delta

Тип: NYT::NFlow::NDeltaCodecs::ECodec

compress

Тип: bool
Значение по умолчанию: false

recode_probability

Тип: double
Значение по умолчанию: 0.1

NYT::NFlow::TDynamicStateJoinerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

cache

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicExpiringJobNamedStateCacheSpec>
Значение по умолчанию: {}
Настройки TTL-кэша загруженных стейтов. По умолчанию выключен (ttl = 0).

NYT::NFlow::TDynamicStateManagerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

format

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicStateFormatSpec>
Значение по умолчанию: {}

table_request

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicTableRequestSpec>
Значение по умолчанию: {}

format_overrides

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NFlow::TDynamicStateFormatSpec>>
Значение по умолчанию: {}

NYT::NFlow::TDynamicStaticTableKeyVisitorJoinerSpec

Источник: yt/yt/flow/library/cpp/computation/static_table_key_visitor_joiner.h

Параметр

Описание

read_attempts

Тип: int
Значение по умолчанию: 3
Бюджет попыток одного чтения источника; чтение, исчерпавшее бюджет, считается неуспешным и обрабатывается согласно unavailable_source_policy.

unavailable_source_backoff

Тип: TDuration
Значение по умолчанию: 5m
На какое время неуспешное чтение помечает источник недоступным.
Пока пометка действует, обращений к источнику нет: каждое чтение немедленно резолвится согласно unavailable_source_policy;
первое чтение после истечения окна снова пробует источник.

NYT::NFlow::TDynamicTableRequestSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

select_min_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10

select_limit_multiplier

Тип: long
Значение по умолчанию: 5

select_max_limit

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10K

NYT::NFlow::TDynamicThrottlerClassSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

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

Параметр

Описание

weight

Тип: double
Значение по умолчанию: 1.0
Положительный конечный вес, определяющий долгосрочную долю полосы среди активных классов.

NYT::NFlow::TDynamicThrottlerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

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

Параметр

Описание

limit

Тип: std::optional<double>
Средняя скорость выдачи квоты в единицах в секунду. none означает unlimited.

period

Тип: TDuration
Значение по умолчанию: 10s
Период усреднения средней скорости в алгоритме token bucket: за period бакет пополняется до объёма limit * period единиц. Этот же объём — максимально возможный burst.

request_period

Тип: TDuration
Значение по умолчанию: 5s
Целевой интервал между походами клиента на контроллер (размер prefetch подстраивается под него).

retrying_channel

Тип: NYT::TIntrusivePtr<NYT::NRpc::TRetryingChannelConfig>
Значение по умолчанию:

{
    "enable_exponential_retry_backoffs" = %true;
    "retry_attempts" = 100;
    "retry_timeout" = 600000;
}

Параметры ретраев запросов к сервису троттлера. Дефолт рассчитан на то, чтобы пережить смену контроллера-лидера даже если она затянется.

rpc_timeout

Тип: TDuration
Значение по умолчанию: 30s
Таймаут одного запроса RequestQuota.

classes

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TQuotaClassIdTag>, NYT::TIntrusivePtr<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 в сумму не входит.

NYT::NFlow::TDynamicTimerStoreSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

table_request

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicTableRequestSpec>
Значение по умолчанию: {}

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NCompanion::TSwiftMapCompanionComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NCompanion::TSwiftOrderedSourceCompanionComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

max_read_window

Тип: TDuration
Значение по умолчанию: 10m

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NCompanion::TTransformCompanionComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NCompanion::TTransformOrderedSourceCompanionComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NSortedDynamicTable::TAsyncSink>

Источник: 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.

Дополнительные параметры

backoff_duration

Тип: TDuration
Значение по умолчанию: 3s
Начальная пауза между повторными попытками до применения jitter. Интервалы используют экспоненциальный backoff с jitter; интервал до применения jitter ограничен одной минутой (либо этим значением, если оно больше). Sink продолжает попытки до успешной записи или отмены job и показывает последнюю ошибку в своём статусе.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NSortedDynamicTable::TSyncSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

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

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NStaticTableConnector::TArrivalOrderTableSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

max_row_count

Тип: long
Значение по умолчанию: 10000
Максимальное число сообщений в таблице. По достижении лимита синк переходит к следующему шагу сетки, в том числе в будущее.

max_data_weight

Тип: long
Значение по умолчанию: 1073741824
Максимальный суммарный вес сообщений в таблице. По достижении лимита синк переходит к следующему шагу сетки.

Дополнительные параметры

transaction_timeout

Тип: TDuration
Значение по умолчанию: 5m
Таймаут мастер-транзакции, атомарно создающей таблицу и продвигающей прогресс доставки.

retry_backoff

Тип: TDuration
Значение по умолчанию: 1s
Задержка между повторными попытками транзакции. Попытки продолжаются до успеха или отмены job.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NStaticTableConnector::TSource>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

desired_table_process_time

Тип: 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-совместимого порядка. Значение по умолчанию — true. Checkpoint формы V1 распознаётся как V1, после чего source с включённым флагом необратимо переводит его через V1 → Draining → V2 или сразу в V2, если V1-таблица не обрабатывается. Значение false откладывает первоначальный переход. Персистентные Draining и V2 остаются авторитетными и не понижаются при смене флага на false.

Дополнительные параметры

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

unavailable_threshold

Тип: TDuration
Значение по умолчанию: 5m
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное.

min_event_timestamp

Тип: std::optional<unsigned long>
Таблицы у которых EventTimestamp меньше MinEventTimestamp, не будут процесситься.

max_partition_count

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10K
Менять не рекомендуется. Ограничение сверху на число одновременно живущих партиций.

throttler_period

Тип: TDuration
Значение по умолчанию: 10s
Менять не рекомендуется. Регулирует окно на котором регулируется скорость чтения из партиции.

desired_partition_process_time

Тип: TDuration
Значение по умолчанию: 10m
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер.

desired_partition_rows_per_second

Тип: double
Значение по умолчанию: 1000.0
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер.

desired_partition_bytes_per_second

Тип: double
Значение по умолчанию: 1000000.0
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер.

read_timeout

Тип: TDuration
Значение по умолчанию: 5m
Менять не рекомендуется. Пересоздает table reader, если тот возвращает пустой ответ в течение периода.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::NStaticTableConnectorV2::TSource>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

desired_table_process_time

Тип: 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-совместимого порядка. Значение по умолчанию — true. Checkpoint формы V1 распознаётся как V1, после чего source с включённым флагом необратимо переводит его через V1 → Draining → V2 или сразу в V2, если V1-таблица не обрабатывается. Значение false откладывает первоначальный переход. Персистентные Draining и V2 остаются авторитетными и не понижаются при смене флага на false.

Дополнительные параметры

unavailable_threshold

Тип: TDuration
Значение по умолчанию: 5m
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное.

min_event_timestamp

Тип: std::optional<unsigned long>
Таблицы у которых EventTimestamp меньше MinEventTimestamp, не будут процесситься.

max_partition_count

Тип: NYT::NYTree::TSize
Значение по умолчанию: 10K
Менять не рекомендуется. Ограничение сверху на число одновременно живущих партиций.

throttler_period

Тип: TDuration
Значение по умолчанию: 10s
Менять не рекомендуется. Регулирует окно на котором регулируется скорость чтения из партиции.

desired_partition_process_time

Тип: TDuration
Значение по умолчанию: 10m
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер.

desired_partition_rows_per_second

Тип: double
Значение по умолчанию: 1000.0
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер.

desired_partition_bytes_per_second

Тип: double
Значение по умолчанию: 1000000.0
Менять не рекомендуется. Регулирует, насколько крупные партиции будет нарезать контроллер.

read_timeout

Тип: TDuration
Значение по умолчанию: 5m
Менять не рекомендуется. Пересоздает table reader, если тот возвращает пустой ответ в течение периода.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TAsyncHttpSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

at_most_once_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAtMostOnceStrategyDynamicParameters>
Значение по умолчанию: {}
Динамические параметры at_most_once_strategy. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора.

request_timeout

Тип: TDuration
Значение по умолчанию: 1m
Общий дедлайн доставки одного сообщения, включая все HTTP-попытки и паузы между ними. Его исчерпание окончательно останавливает синк на время текущей джобы.

attempt_timeout

Тип: TDuration
Значение по умолчанию: 10s
Максимальная длительность одной HTTP-попытки. Попытка дополнительно ограничивается временем, оставшимся до request_timeout; значение не может превышать request_timeout.

retry_initial_delay

Тип: TDuration
Значение по умолчанию: 1s
Пауза перед первым повтором. Значение должно находиться между retry_minimum_delay и retry_maximum_delay.

retry_minimum_delay

Тип: TDuration
Значение по умолчанию: 100ms
Нижняя граница паузы после добавления джиттера. Значение не может превышать retry_initial_delay.

retry_multiplier

Тип: double
Значение по умолчанию: 2.0
Множитель экспоненциального роста паузы. Допустимы значения от 1.01 до 100.0 включительно.

retry_maximum_delay

Тип: TDuration
Значение по умолчанию: 30s
Верхняя граница паузы между попытками. Значение не может быть меньше retry_initial_delay.

retry_jitter_ratio

Тип: double
Значение по умолчанию: 0.2
Случайное относительное отклонение паузы. Допустимы значения от 0.0 до 1.0 включительно.

max_attempt_count

Тип: int
Значение по умолчанию: 5
Максимальное число HTTP-попыток с учётом первой. Его исчерпание окончательно останавливает синк на время текущей джобы. Допустимы значения от 1 до 100 включительно.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TAsyncMultiClusterQueueSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

at_most_once_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAtMostOnceStrategyDynamicParameters>
Значение по умолчанию: {}
Динамические параметры at_most_once_strategy. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора.

Дополнительные параметры

flow_queue_meta_heartbeat_period

Тип: TDuration
Значение по умолчанию: 10s
Как часто контроллер будет во все партиции очереди писать хартбиты с метой с ватермарками.

write_period

Тип: TDuration
Значение по умолчанию: 100ms

max_rows_per_write

Тип: long
Значение по умолчанию: 1000

max_bytes_per_write

Тип: long
Значение по умолчанию: 1048576

backoff_duration

Тип: TDuration
Значение по умолчанию: 1s

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TAsyncQueueSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

at_most_once_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAtMostOnceStrategyDynamicParameters>
Значение по умолчанию: {}
Динамические параметры at_most_once_strategy. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора.

Дополнительные параметры

flow_queue_meta_heartbeat_period

Тип: TDuration
Значение по умолчанию: 10s
Как часто контроллер будет во все партиции очереди писать хартбиты с метой с ватермарками.

write_period

Тип: TDuration
Значение по умолчанию: 100ms

max_rows_per_write

Тип: long
Значение по умолчанию: 1000

max_bytes_per_write

Тип: long
Значение по умолчанию: 1048576

backoff_duration

Тип: TDuration
Значение по умолчанию: 1s

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TAtLeastOnceClickHouseSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

write_timeout

Тип: TDuration
Значение по умолчанию: 1m
Таймаут на сетевую операцию (send/recv).

retry_backoff

Тип: TDuration
Значение по умолчанию: 1s
Пауза между ретраями вставки.

max_insert_attempts

Тип: long
Значение по умолчанию: 10
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся.

async_insert

Тип: bool
Значение по умолчанию: false
Включает серверные асинхронные вставки. Все классы синка эмитят 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
Значение по умолчанию: 1d
Верхняя граница лага реплея для проверки окна дедупликации. При запуске сессии записи перед первой вставкой сравнивается с серверным replicated_deduplication_window_seconds либо с replicated_deduplication_window_seconds_for_async_inserts, если включён async_insert. Если выбранное окно короче, в лог воркера пишется предупреждение.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TAtMostOnceClickHouseSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

write_timeout

Тип: TDuration
Значение по умолчанию: 1m
Таймаут на сетевую операцию (send/recv).

retry_backoff

Тип: TDuration
Значение по умолчанию: 1s
Пауза между ретраями вставки.

max_insert_attempts

Тип: long
Значение по умолчанию: 10
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся.

async_insert

Тип: bool
Значение по умолчанию: false
Включает серверные асинхронные вставки. Все классы синка эмитят 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
Значение по умолчанию: 1d
Верхняя граница лага реплея для проверки окна дедупликации. При запуске сессии записи перед первой вставкой сравнивается с серверным replicated_deduplication_window_seconds либо с replicated_deduplication_window_seconds_for_async_inserts, если включён async_insert. Если выбранное окно короче, в лог воркера пишется предупреждение.

at_most_once_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAtMostOnceStrategyDynamicParameters>
Значение по умолчанию: {}
Динамические параметры at_most_once_strategy. Поддержка зависит от коннектора; перед настройкой проверьте документацию выбранного коннектора.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TClickHouseBatchingSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

write_timeout

Тип: TDuration
Значение по умолчанию: 1m
Таймаут на сетевую операцию (send/recv).

retry_backoff

Тип: TDuration
Значение по умолчанию: 1s
Пауза между ретраями вставки.

max_insert_attempts

Тип: long
Значение по умолчанию: 10
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся.

async_insert

Тип: bool
Значение по умолчанию: false
Включает серверные асинхронные вставки. Все классы синка эмитят 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
Значение по умолчанию: 1d
Верхняя граница лага реплея для проверки окна дедупликации. При запуске сессии записи перед первой вставкой сравнивается с серверным 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.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TPassthroughComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TQueueSource>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

pull_queue_timeout

Тип: TDuration
Значение по умолчанию: 1m
Таймаут для запроса чтения из очереди.

Дополнительные параметры

unavailable_threshold

Тип: TDuration
Значение по умолчанию: 5m
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TRandomSource>

Источник: 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>

Дополнительные параметры

unavailable_threshold

Тип: TDuration
Значение по умолчанию: 5m
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TServiceLogSource>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

desired_partition_count

Тип: long
Значение по умолчанию: 5
Желаемое количество партиций. Можно оценить как 1 партиция на 1 MB/s потока.

desired_cycle_time

Тип: TDuration
Значение по умолчанию: 12h
Cорс будет стремиться поддерживать такую скорость генерации сообщений, чтобы обходить всю таблицу раз в desired_cycle_time.

Дополнительные параметры

unavailable_threshold

Тип: TDuration
Значение по умолчанию: 5m
Сколько времени подряд источник должен быть недоступен, чтобы партиция считалась стабильно недоступной. Засчитывается только то время, когда джоб работал и видел ошибку: простой между перезапусками в него не попадает, а любой успешный ответ источника обнуляет накопленное.

throttler_period

Тип: TDuration
Значение по умолчанию: 10s
Период троттлинга.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TShardedClickHouseBatchingSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

write_timeout

Тип: TDuration
Значение по умолчанию: 1m
Таймаут на сетевую операцию (send/recv).

retry_backoff

Тип: TDuration
Значение по умолчанию: 1s
Пауза между ретраями вставки.

max_insert_attempts

Тип: long
Значение по умолчанию: 10
Максимум попыток вставки для ошибок, которые нельзя надёжно классифицировать как временные (например, серверные ошибки); после исчерпания запись завершается ошибкой. Известные временные ошибки (сеть, протокол) ретраятся без ограничения, невосстановимые (валидация) не ретраятся.

async_insert

Тип: bool
Значение по умолчанию: false
Включает серверные асинхронные вставки. Все классы синка эмитят 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
Значение по умолчанию: 1d
Верхняя граница лага реплея для проверки окна дедупликации. При запуске сессии записи перед первой вставкой сравнивается с серверным 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.

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TSwiftPassthroughComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TSwiftPassthroughOrderedSourceComputation>

Источник: 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>

partition_count_half_delay

Тип: std::optional<TDuration>

weight_multiplier

Тип: double
Значение по умолчанию: 1.0

interrupting_weight_multiplier

Тип: double
Значение по умолчанию: 0.1

max_read_window

Тип: TDuration
Значение по умолчанию: 10m

NYT::NFlow::TDynamicUnitedParameters<NYT::NFlow::TSyncQueueSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

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

Дополнительные параметры

flow_queue_meta_heartbeat_period

Тип: TDuration
Значение по умолчанию: 10s
Как часто контроллер будет во все партиции очереди писать хартбиты с метой с ватермарками.

NYT::NFlow::TEvenLoadThresholds

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

spread

Тип: std::optional<double>
Минимальная разница между максимальной и минимальной загрузкой воркеров по ресурсу (в единицах ресурса: ядра для CPU, байты для памяти), начиная с которой нагрузка считается неровной.

ratio

Тип: std::optional<double>
Минимальное отношение максимальной загрузки воркера к минимальной, начиная с которого нагрузка считается неровной. Не меньше 1.

NYT::NFlow::TEventTimestampAssignerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

column

Тип: std::optional<std::string>
Колонка со временем

format

Тип: NYT::NFlow::ETimestampFormat
Значение по умолчанию: seconds
Используемый формат времени (seconds и milliseconds)

limit_by_system_timestamp

Тип: bool
Значение по умолчанию: false
Ограничить EventTimestamp значением SystemTimestamp для защиты от битых значений из будущего

NYT::NFlow::TExternalStateJoinerSpec

Источник: 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>
Значение по умолчанию: {}
Описание соответствия между ключами входного потока 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'а.

NYT::NFlow::TExternalStateManagerSpec

Источник: 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.

NYT::NFlow::TFetcherInJoinerSpec

Источник: 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
Значение по умолчанию: 5s

fetch_type

Тип: NYT::NFlow::EFetchType
Значение по умолчанию: table_reader
Важный параметр, влияет на характер нагрузки на YT, см. описание EFetchType.

prefix

Тип: std::string
Значение по умолчанию: TString("")
Префикс имени колонки, который будет добавлен для неключевых колонок таблицы.

NYT::NFlow::TFileProviderSpec

Источник: 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
Значение по умолчанию: 1m
Максимальное время выполнения команды. Изменение таймаута не инвалидирует уже кешированный результат предобработки.

NYT::NFlow::TFlowNodeConfig

Источник: yt/yt/flow/library/cpp/runner/config.h

Параметр

Описание

logging

Тип: NYT::TIntrusivePtr<NYT::NLogging::TLogManagerConfig>
Значение по умолчанию:

{
    "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>
Значение по умолчанию: {}

pipe_io_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NPipeIO::TPipeIODispatcherConfig>
Значение по умолчанию: {}

solomon_registry

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TSolomonRegistryConfig>
Значение по умолчанию: {}

error_backtrace_enricher

Тип: NYT::TIntrusivePtr<NYT::NFlow::TBacktraceEnricherSpec>
Значение по умолчанию: {}

query_engine_config

Тип: NYT::TIntrusivePtr<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>
Параметры процесса-компаньона. Нужны любому воркеру, который запускает компаньон (Python, Java, Go, C++-компаньон). В vanilla-запуске заполняются автоматически.

controller

Тип: NYT::TIntrusivePtr<NYT::NFlow::NController::TControllerConfig>
Значение по умолчанию: {}
Параметры Controller.

worker

Тип: NYT::TIntrusivePtr<NYT::NFlow::NWorker::TWorkerConfig>
Значение по умолчанию: {}
Параметры Worker.

authenticator

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAuthenticatorConfig>
Значение по умолчанию: {}

bus_server

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TBusServerConfig>
Значение по умолчанию: {}

rpc_server

Тип: NYT::TIntrusivePtr<NYT::NRpc::TServerConfig>
Значение по умолчанию: {}

core_dumper

Тип: NYT::TIntrusivePtr<NYT::NCoreDump::TCoreDumperConfig>

solomon_exporter

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TSolomonExporterConfig>
Значение по умолчанию: {'enable_solomon_aggregates': true}

solomon_proxy

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TSolomonProxyConfig>
Значение по умолчанию: {}

http_client_config

Тип: NYT::TIntrusivePtr<NYT::NHttp::TClientConfig>
Значение по умолчанию: {}

https_client_config

Тип: NYT::TIntrusivePtr<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

Дополнительные параметры

address_resolver

Тип: NYT::TIntrusivePtr<NYT::NNet::TAddressResolverConfig>
Значение по умолчанию: {}

grpc_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NRpc::NGrpc::TDispatcherConfig>
Значение по умолчанию: {}

tcmalloc

Тип: NYT::TIntrusivePtr<NYT::NTCMalloc::TTCMallocConfig>
Значение по умолчанию: {'guarded_sampling_rate': 16777216}

fiber_manager

Тип: NYT::TIntrusivePtr<NYT::NConcurrency::TFiberManagerConfig>
Значение по умолчанию: {}

resource_tracker

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TResourceTrackerConfig>
Значение по умолчанию: {}

tcp_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TDispatcherConfig>
Значение по умолчанию: {}

rpc_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NRpc::TDispatcherConfig>
Значение по умолчанию: {}

protobuf_interop

Тип: NYT::TIntrusivePtr<NYT::NYson::TProtobufInteropConfig>
Значение по умолчанию: {}

clients_cache

Тип: NYT::TIntrusivePtr<NYT::NClient::NCache::TClientsCacheConfig>
Значение по умолчанию: {}
Настройки соединений кэша YT-клиентов ноды. Через него ходят коннектор пайплайна, writer логов в очередь и всё, что берёт клиента из TComputationContext::ClientsCache — компьютейшены, коннекторы и менеджеры состояния. Аутентификатор пайплайна создаёт своего клиента отдельно и этими настройками не управляется.

clients_cache_factory

Тип: NYT::TIntrusivePtr<NYT::NYTree::INode>
Параметры фабрики корневого кэша YT-клиентов, установленной через SetRootClientsCacheFactory(). Схему параметров задаёт сама фабрика; встроенная фабрика этот блок игнорирует.

enable_phdr_cache

Тип: bool
Значение по умолчанию: true

NYT::NFlow::THeavyHittersSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

window

Тип: TDuration
Значение по умолчанию: 5m
Временное окно.

threshold

Тип: double
Значение по умолчанию: 0.01
Ключи, которые встречаются в потоке чаще, чем threshold, будут считаться высокочастотными. Алгоритм использует O(1 / threshold) памяти.

limit

Тип: long
Значение по умолчанию: 5
Максимальное количество показываемых высокочастотных ключей.

NYT::NFlow::TIdlePartitionsSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

duration

Тип: TDuration
Значение по умолчанию: 1m
Время, как долго партиция должна быть пустой, чтобы поверить, что в неё не идёт записи.

max_ratio

Тип: double
Значение по умолчанию: 0.4
Доля партиций, которые могут быть исключены из расчёта вотермарка этой логикой. Идейный смысл опции — защита от продвижения вотермарка, когда поставщик данных прекратил писать сообщения в очередь по причине инцидента на его стороне. Выставление значения опции в 1.0 по сути отключает эту защиту.

NYT::NFlow::TInputOrderingSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

time_type

Тип: NYT::NFlow::ETimeType
Значение по умолчанию: event_time
Время для сортировки: event_time, system_time, real_time

stream_delays

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, TDuration>
Значение по умолчанию: {}
Задержки для входных потоков. Если поток не указан — то задержки не будет

NYT::NFlow::TKeyStateRow

Источник: 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'а; для встроенных типов вроде счётчиков это просто число, для произвольных пользовательских структур — YSON-словарь со всеми их полями).

Для секций external_key_states / joined_external_key_states имя стейта совпадает с именем external_state-клиента (то, что process function передаёт в IRuntimeInitContext::InitExternalStateClient, например /state).

NYT::NFlow::TKeyVisitorStreamSpec

Источник: 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

NYT::NFlow::TLateDataPartitionsSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

value

Тип: NYT::TStrongTypedef<double, NYT::NFlow::TWatermarkPercentileTag, NYT::TStrongTypedefOptions{true}>
Значение по умолчанию: 100.0

delay

Тип: TDuration
Значение по умолчанию: 1m

NYT::NFlow::TLoadThroughputThrottlerSpec

Источник: yt/yt/flow/library/cpp/misc/load_throughput_throttler.h

Параметр

Описание

limit

Тип: std::optional<double>

period

Тип: TDuration
Значение по умолчанию: 1s

alpha

Тип: double
Значение по умолчанию: 0.999

initial_row_size

Тип: double
Значение по умолчанию: 1000.0

initial_key_size

Тип: double
Значение по умолчанию: 500.0

NYT::NFlow::TMatchedStates

Источник: yt/yt/flow/library/cpp/controller/state_access.h

Разбивка совпавших строк по категориям. Используется в TDeleteStatesResponse.

Параметр

Описание

key_states

Тип: NYT::NFlow::TMatchedStatesBucket
Обязательный параметр
Совпавшие строки в key_states.

partition_states

Тип: NYT::NFlow::TMatchedStatesBucket
Обязательный параметр
Совпавшие строки в partition_states.

external_key_states

Тип: NYT::NFlow::TMatchedStatesBucket
Обязательный параметр
Совпавшие строки в external_state_manager'ах.

NYT::NFlow::TMatchedStatesBucket

Источник: 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 → имя_стейта → число строк.

NYT::NFlow::TMessageSerializer

Источник: 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.

NYT::NFlow::TPartitionStateRow

Источник: 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-значение.

NYT::NFlow::TPipelineSpec

Источник: 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>>
Значение по умолчанию: {}
Именованное перечисление всех узлов пайплайна. Ключи должны соответствовать [0-9A-Za-z_-]+.

resources

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TResourceSpec>>
Значение по умолчанию: {}
Именованное перечисление всех ресурсов. Ключи должны соответствовать [0-9A-Za-z_-]+.

streams

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, NYT::TIntrusivePtr<NYT::NFlow::TStreamSpec>>
Значение по умолчанию: {}
Именованное перечисление всех потоков данных. Ключи должны соответствовать [0-9A-Za-z_-]+.

NYT::NFlow::TPivotFinderSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

part_count

Тип: long
Значение по умолчанию: 16

window_size

Тип: long
Значение по умолчанию: 16384

NYT::NFlow::TReadStatesArg

Источник: yt/yt/flow/library/cpp/controller/state_access.h

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

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

  1. Только computation_id — все стейты для всех партиций указанного Computation'а.
  2. computation_id + key — точечный lookup по ключу в key_states (и в external-стейтах) указанного Computation'а.
  3. Только partition_id — все 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; ...} — для каждой целевой таблицы (key_states Computation'а и каждой таблицы external_state_manager'а/joiner'а с собственной key_schema_override) словарь раскладывается по её ключевой схеме; колонки, отсутствующие в схеме, игнорируются.
  • YSON-список позиционных значений — передаётся в таблицы как есть, без адаптации под их схему.

name

Тип: std::optional<std::string>
Фильтр по точному имени стейта; применяется ко всем секциям (key/partition/external). Если задан, в каждой секции возвращаются только строки с этим именем стейта.

target

Тип: 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'а.

NYT::NFlow::TReadStatesResponse

Источник: yt/yt/flow/library/cpp/controller/state_access.h

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

Параметр

Описание

key_states

Тип: std::vector<NYT::NFlow::TKeyStateRow>
Значение по умолчанию: []
Стейты, привязанные к ключам (по ключевой схеме Computation'а).

partition_states

Тип: std::vector<NYT::NFlow::TPartitionStateRow>
Значение по умолчанию: []
Стейты, привязанные к партициям.

external_key_states

Тип: std::vector<NYT::NFlow::TKeyStateRow>
Значение по умолчанию: []
Стейты из external_state_manager'ов (mutable, могут быть удалены через delete-states).

joined_external_key_states

Тип: std::vector<NYT::NFlow::TKeyStateRow>
Значение по умолчанию: []
Стейты, наблюдаемые через external_state_joiner'ы (read-only, join-источники).

errors

Тип: std::vector<std::string>
Значение по умолчанию: []
Ошибки, возникшие при формировании ответа на сам запрос (например, не удалось адаптировать ключ под схему конкретного external-стейта или упал List/Lookup в его таблицу). Не относятся к ошибкам в работе пайплайна со стейтом. Если такая ошибка случилась для одного из external-стейтов, остальные секции всё равно наполняются успешно.

NYT::NFlow::TResourceDescription

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

alias

Тип: std::optional<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>>

worker

Тип: bool
Значение по умолчанию: true

controller

Тип: bool
Значение по умолчанию: true

NYT::NFlow::TResourceSpec

Источник: 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>>
Значение по умолчанию: {}
Именованные файловые провайдеры ресурса. Контроллер добавляет файловый снимок в целевую ревизию только после обнаружения всех имён; собственная часть целевой спецификации контроллера может публиковаться независимо. Воркеры материализуют точные ревизии из полученной цели. Такие ресурсы поддерживаются только на воркерах и должны иметь controller = %false во всех путях required_resource_ids, которые могут до них дойти. Ключи должны соответствовать [0-9A-Za-z_-]+.

dependencies

Тип: THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TResourceIdTag>, NYT::TIntrusivePtr<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.

NYT::NFlow::TSimpleExternalStateJoinerSpec

Источник: yt/yt/flow/library/cpp/computation/simple_external_state_manager.h

Параметр

Описание

path

Тип: NYT::NYPath::TRichYPath
Обязательный параметр
Путь до динтаблицы со стейтами (с указанием кластера в rich path).

NYT::NFlow::TSimpleExternalStateManagerSpec

Источник: yt/yt/flow/library/cpp/computation/simple_external_state_manager.h

Параметр

Описание

path

Тип: NYT::NYPath::TRichYPath
Обязательный параметр
Путь до динтаблицы со стейтами (с указанием кластера в rich path).

NYT::NFlow::TSimpleRunnerConfig

Источник: yt/yt/flow/library/cpp/runner/simple_runner_program.h

Параметр

Описание

logging

Тип: NYT::TIntrusivePtr<NYT::NLogging::TLogManagerConfig>
Значение по умолчанию:

{
    "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>
Значение по умолчанию: {}

pipe_io_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NPipeIO::TPipeIODispatcherConfig>
Значение по умолчанию: {}

solomon_registry

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TSolomonRegistryConfig>
Значение по умолчанию: {}

error_backtrace_enricher

Тип: NYT::TIntrusivePtr<NYT::NFlow::TBacktraceEnricherSpec>
Значение по умолчанию: {}

query_engine_config

Тип: NYT::TIntrusivePtr<NYT::NQueryClient::TQueryEngineConfig>
Значение по умолчанию: {}

cluster_url

Тип: std::string
Обязательный параметр
Имя кластера, на котором находится пайплайн. Хвост после последнего / трактуется как прокси-роль и имеет приоритет над proxy_role — например, hahn/flow означает кластер hahn и роль flow.

proxy_role

Тип: std::optional<std::string>
Обязательный параметр
Прокси-роль, которую нужно использовать для выполнения операций над пайплайном.

path

Тип: TString
Обязательный параметр
Путь к пайплайну на YTsaurus.

spec

Тип: NYT::TIntrusivePtr<NYT::NFlow::TPipelineSpec>
Обязательный параметр
Статическая спека, с которой нужно запустить пайплайн.

dynamic_spec

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDynamicPipelineSpec>
Значение по умолчанию: {}
Динамическая спека, с которой нужно запустить пайплайн.

abort_on_unrecognized_options

Тип: bool
Значение по умолчанию: false

abort_on_specs_parseability_error

Тип: bool
Значение по умолчанию: false

vanilla

Тип: NYT::TIntrusivePtr<NYT::NFlow::TVanillaConfig>
Если задан и enable=%true, раннер вместо запуска контроллера/воркеров локально поднимет vanilla-операцию в YTsaurus и запустит федерацию в ней.

set_flow_core_target

Тип: bool
Значение по умолчанию: true

direct_controller_commands

Тип: NYT::TIntrusivePtr<NYT::NFlow::TDirectControllerCommandsConfig>
Значение по умолчанию: {}

Дополнительные параметры

address_resolver

Тип: NYT::TIntrusivePtr<NYT::NNet::TAddressResolverConfig>
Значение по умолчанию: {}

grpc_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NRpc::NGrpc::TDispatcherConfig>
Значение по умолчанию: {}

tcmalloc

Тип: NYT::TIntrusivePtr<NYT::NTCMalloc::TTCMallocConfig>
Значение по умолчанию: {}

fiber_manager

Тип: NYT::TIntrusivePtr<NYT::NConcurrency::TFiberManagerConfig>
Значение по умолчанию: {}

resource_tracker

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TResourceTrackerConfig>
Значение по умолчанию: {}

tcp_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TDispatcherConfig>
Значение по умолчанию: {}

rpc_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NRpc::TDispatcherConfig>
Значение по умолчанию: {}

protobuf_interop

Тип: NYT::TIntrusivePtr<NYT::NYson::TProtobufInteropConfig>
Значение по умолчанию: {}

clients_cache

Тип: NYT::TIntrusivePtr<NYT::NClient::NCache::TClientsCacheConfig>
Значение по умолчанию: {}
Настройки соединений кэша YT-клиентов, через который раннер общается с кластером пайплайна. На vanilla launcher не распространяются: он создаёт своих клиентов отдельно.

clients_cache_factory

Тип: NYT::TIntrusivePtr<NYT::NYTree::INode>
Параметры фабрики корневого кэша YT-клиентов, установленной через SetRootClientsCacheFactory(). Схему параметров задаёт сама фабрика; встроенная фабрика этот блок игнорирует.

NYT::NFlow::TSinkSpec

Источник: 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>
Значение по умолчанию: {}
Произвольные параметры для соответствующего класса.

NYT::NFlow::TSourceSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

source_class_name

Тип: std::string
Значение по умолчанию: TString("")
Имя соответствующего класса.

Должен быть зарегистрирован с помощью YT_FLOW_DEFINE_SOURCE.

parameters

Тип: NYT::TIntrusivePtr<NYT::NYTree::IMapNode>
Значение по умолчанию: {}
Произвольные параметры для соответствующего класса.

NYT::NFlow::TStateJoinSpec

Источник: 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'а».

NYT::NFlow::TStateJoinerSpec

Источник: 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>
Значение по умолчанию: {}
Описание соответствия между ключами входного потока computation'а и ключом стейта целевого Computation'а (см. TStateJoinSpec). key_schema_override должна совпадать с group_by_schema целевого Computation'а.

auto_preload

Тип: bool
Значение по умолчанию: true
Если true (по умолчанию), фреймворк сам вызывает PreloadKeyStates у этого joiner'а перед каждым DoProcess, формируя ключи по join_on. Если false, computation сам отвечает за вызов PreloadKeyStates до GetState.

NYT::NFlow::TStaticTableKeyVisitorJoinerSpec

Источник: 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
Значение по умолчанию: retry
Поведение при неуспешном чтении источника (исчерпавшем read_attempts попыток).
retry (по умолчанию) — ошибка роняет итерацию обхода и чтение повторяется; обход не продвигается за непрочитанный диапазон.
mark_unreadable — ошибка проглатывается, обход идёт дальше, а ключи непрочитанного диапазона резолвятся неинициализированным аксессором (IsInitialized() == false).

NYT::NFlow::TStreamSpec

Источник: 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

NYT::NFlow::TTableFetcherSpec

Источник: 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
Значение по умолчанию: 5s

fetch_type

Тип: NYT::NFlow::EFetchType
Значение по умолчанию: table_reader
Важный параметр, влияет на характер нагрузки на YT, см. описание EFetchType.

NYT::NFlow::TTableJoinerSpec

Источник: yt/yt/flow/library/cpp/connectors/servicelog/joiner.h

Параметр

Описание

fetchers

Тип: std::vector<NYT::TIntrusivePtr<NYT::NFlow::TFetcherInJoinerSpec>>
Значение по умолчанию: []
Спеки фетчеров.

NYT::NFlow::TTimerSerializer

Источник: 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}>
Обязательный параметр
Время для срабатывания таймера.

NYT::NFlow::TTimerSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

time_type

Тип: 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>>
Перечисление потоков, за которыми таймер следит с указанием индивидуальной задержки

deduplicate_equal_timestamps

Тип: bool
Значение по умолчанию: true
Включение логики дедупликации таймеров: при попытке создания таймера с тем же ключом и trigger_timestamp, останется только один, с меньшим значением EventTimestamp

NYT::NFlow::TUnavailablePartitionGroupsSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

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

NYT::NFlow::TUnitedParameters<NYT::NFlow::NCompanion::TSwiftMapCompanionComputation>

Источник: 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 внутри ключа, такую логику нужно переписать с учётом этого.

NYT::NFlow::TUnitedParameters<NYT::NFlow::NCompanion::TSwiftOrderedSourceCompanionComputation>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

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

NYT::NFlow::TUnitedParameters<NYT::NFlow::NCompanion::TTransformCompanionComputation>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

processing_mode

Тип: NYT::NFlow::EProcessingMode
Значение по умолчанию: exactly_once

internal_states

Тип: std::optional<THashSet<std::string>>

NYT::NFlow::TUnitedParameters<NYT::NFlow::NCompanion::TTransformOrderedSourceCompanionComputation>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

internal_states

Тип: std::optional<THashSet<std::string>>

NYT::NFlow::TUnitedParameters<NYT::NFlow::NSortedDynamicTable::TAsyncSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

table_path

Тип: NYT::NYPath::TRichYPath
Обязательный параметр
Путь к целевой сортированной динамической таблице с указанием кластера.

column_filter

Тип: std::optional<THashSet<std::string>>
Какие колонки из сообщения писать в таблицу (по умолчанию — все). При использовании параметра delete_rows необходимо указать ключевые колонки целевой таблицы, иначе удаления будут падать.

aggregate_columns

Тип: std::optional<THashSet<std::string>>
Агрегатные записи не поддерживаются: параметр должен быть не указан или содержать пустой список. Асинхронная запись может повторить уже закоммиченный батч после восстановления, поэтому неидемпотентная агрегация небезопасна.

delete_rows

Тип: bool
Значение по умолчанию: false
Если установлено в true, то вместо вставки строк будет выполняться их удаление. В этом режиме важно, чтобы в column_filter были выбраны ключевые колонки целевой таблицы.

require_sync_replica

Тип: bool
Значение по умолчанию: true
Если установлено в false, то при записи строк в целевую таблицу не проверяется наличие синхронной реплики. По умолчанию значение true - проверка происходит.

Дополнительные параметры

update_partition_count_period

Тип: TDuration
Значение по умолчанию: 1m
Как часто контроллеру обновлять число таблетов в таблице (контроллер соответственно меняет число каналов получателя). Для chaos replicated table контроллер использует enabled data replica с лексикографически минимальным replica id; текущий режим sync/async не влияет на выбор. Reshard этой реплики может изменить число каналов получателя.

NYT::NFlow::TUnitedParameters<NYT::NFlow::NSortedDynamicTable::TSyncSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

table_path

Тип: NYT::NYPath::TRichYPath
Обязательный параметр
Путь к целевой сортированной динамической таблице с указанием кластера.

column_filter

Тип: std::optional<THashSet<std::string>>
Какие колонки из сообщения писать в таблицу (по умолчанию — все). При использовании параметра delete_rows необходимо указать ключевые колонки целевой таблицы, иначе удаления будут падать.

aggregate_columns

Тип: std::optional<THashSet<std::string>>
Список колонок, для которых при записи учитывается функция агрегации. По умолчанию происходит перезапись значения в колонке.

delete_rows

Тип: bool
Значение по умолчанию: false
Если установлено в true, то вместо вставки строк будет выполняться их удаление. В этом режиме важно, чтобы в column_filter были выбраны ключевые колонки целевой таблицы.

Примечание

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

require_sync_replica

Тип: bool
Значение по умолчанию: true
Если установлено в false, то при записи строк в целевую таблицу не проверяется наличие синхронной реплики. По умолчанию значение true - проверка происходит.

Дополнительные параметры

update_partition_count_period

Тип: TDuration
Значение по умолчанию: 1m
Как часто контроллеру обновлять число таблетов в таблице (контроллер соответственно меняет число каналов получателя). Для chaos replicated table контроллер использует enabled data replica с лексикографически минимальным replica id; текущий режим sync/async не влияет на выбор. Reshard этой реплики может изменить число каналов получателя.

NYT::NFlow::TUnitedParameters<NYT::NFlow::NStaticTableConnector::TArrivalOrderTableSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

output_directory

Тип: NYT::NYPath::TRichYPath
Обязательный параметр
Директория для выходных статических таблиц. В её атрибуте @progress хранится прогресс доставки: владелец (pipeline, computation, sink id), общая последовательность таблиц и frontier каждой партиции. Каждому синку нужна собственная директория: если владелец чужой, синк падает и просит удалить атрибут вручную.

table_period

Тип: TDuration
Значение по умолчанию: 5m
Шаг непрерывной сетки таблиц. Пустая таблица для шага T создаётся без пропуска, только когда системный watermark входного потока известен и строго больше T + table_period. Пустые таблицы в будущем не создаются.

table_ttl

Тип: 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 в ней, весом считается размер сообщения.

NYT::NFlow::TUnitedParameters<NYT::NFlow::NStaticTableConnector::TSource>

Источник: 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>
Регулярное выражение для фильтрации таблиц по имени: читаются только те таблицы, имя которых совпадает с выражением. Синтаксис выражений — RE2.

event_timestamp_locator

Тип: NYT::TIntrusivePtr<NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec>
Значение по умолчанию: {'attribute': 'key'}
По умолчанию берёт таймстемп из имени таблицы. Это время соответствует времени создания данных, оно будет проброшено в EventTimestamp сообщений. Таблицы с одинаковым таймстемпом упорядочиваются персистентно; новые таблицы не должны появляться позади уже обработанного event-time frontier.

system_timestamp_locator

Тип: NYT::TIntrusivePtr<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>
Значение по умолчанию: 3600000
Задержка продвижения ватермарка от текущего времени, когда source не читает таблицу. Ватермарк читаемой таблицы сразу продвигается до её event timestamp без вычитания задержки. Значение # отключает продвижение от текущего времени; новые таблицы при этом продолжают продвигать ватермарк.

failover_delay

Тип: TDuration
Значение по умолчанию: 5m
Для реплицированного входа — время недоступности активного кластера до переключения текущей таблицы.

Дополнительные параметры

update_info_period

Тип: TDuration
Значение по умолчанию: 15s
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии.

byte_size_alpha

Тип: double
Значение по умолчанию: 0.05
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные.

NYT::NFlow::TUnitedParameters<NYT::NFlow::NStaticTableConnectorV2::TSource>

Источник: 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>
Регулярное выражение для фильтрации таблиц по имени: читаются только те таблицы, имя которых совпадает с выражением. Синтаксис выражений — RE2.

event_timestamp_locator

Тип: NYT::TIntrusivePtr<NYT::NFlow::NStaticTableConnector::TTableTimestampLocatorSpec>
Значение по умолчанию: {'attribute': 'key'}
По умолчанию берёт таймстемп из имени таблицы. Это время соответствует времени создания данных, оно будет проброшено в EventTimestamp сообщений. Таблицы с одинаковым таймстемпом упорядочиваются персистентно; новые таблицы не должны появляться позади уже обработанного event-time frontier.

system_timestamp_locator

Тип: NYT::TIntrusivePtr<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>
Значение по умолчанию: 3600000
Задержка продвижения ватермарка от текущего времени, когда source не читает таблицу. Ватермарк читаемой таблицы сразу продвигается до её event timestamp без вычитания задержки. Значение # отключает продвижение от текущего времени; новые таблицы при этом продолжают продвигать ватермарк.

failover_delay

Тип: TDuration
Значение по умолчанию: 5m
Для реплицированного входа — время недоступности активного кластера до переключения текущей таблицы.

Дополнительные параметры

update_info_period

Тип: TDuration
Значение по умолчанию: 15s
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии.

byte_size_alpha

Тип: double
Значение по умолчанию: 0.05
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TAsyncHttpSink>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

at_most_once_strategy

Тип: NYT::TIntrusivePtr<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 соответствует один ключ сорса, поэтому дополнительного множителя по числу ключей нет. Если несколько синков обращаются к одному эндпоинту, рассчитывайте его ёмкость как сумму по всем настроенным синкам и активным джобам партиций.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TAsyncMultiClusterQueueSink>

Источник: 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; если не задано ни одно из двух выражений — маршрутизация выключена ($tablet_index не пишется, таблет выбирает драйвер). Шардированные очереди неудобны в эксплуатации (жёсткая связность object→таблет, решардирование переразбивает ключи), поэтому включайте маршрутизацию только при реальной необходимости. Маршрутизация поддерживается только для синхронных 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>
Политика сведения хеша tablet_index_routing_hash_expression к индексу таблета. Обязателен вместе с ним. range — непрерывные равноширокие диапазоны хеша (rangeSize = 2^64 / tablet_count), рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. modulo — hash % tablet_count; не рекомендуется: Computation-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении).

tablet_count

Тип: std::optional<long>
Число таблетов для сведения tablet_index_routing_hash_expression к индексу таблета. Необязателен. Если не задан, синк периодически перечитывает @tablet_count целевой очереди (из кэша мастера) и подхватывает решардирование без рестарта. Если задан явно — значение фиксировано, запросов в очередь нет, а решардирование учитывается только при изменении конфигурации.

at_most_once_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAtMostOnceStrategyParameters>
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора.

column_filter

Тип: std::optional<THashSet<std::string>>
Какие колонки из сообщения писать в очередь (по умолчанию — все).

use_clusters

Тип: bool
Значение по умолчанию: false
Использовать ли <clusters=[...]> вместо <cluster=...> из rich path в producer и queue

Дополнительные параметры

update_partition_count_period

Тип: TDuration
Значение по умолчанию: 1m
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди).

update_partition_count_retry_min_backoff

Тип: TDuration
Значение по умолчанию: 1s
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается update_partition_count_period; последующие задержки растут экспоненциально.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TAsyncQueueSink>

Источник: 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; если не задано ни одно из двух выражений — маршрутизация выключена ($tablet_index не пишется, таблет выбирает драйвер). Шардированные очереди неудобны в эксплуатации (жёсткая связность object→таблет, решардирование переразбивает ключи), поэтому включайте маршрутизацию только при реальной необходимости. Маршрутизация поддерживается только для синхронных 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>
Политика сведения хеша tablet_index_routing_hash_expression к индексу таблета. Обязателен вместе с ним. range — непрерывные равноширокие диапазоны хеша (rangeSize = 2^64 / tablet_count), рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. modulo — hash % tablet_count; не рекомендуется: Computation-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении).

tablet_count

Тип: std::optional<long>
Число таблетов для сведения tablet_index_routing_hash_expression к индексу таблета. Необязателен. Если не задан, синк периодически перечитывает @tablet_count целевой очереди (из кэша мастера) и подхватывает решардирование без рестарта. Если задан явно — значение фиксировано, запросов в очередь нет, а решардирование учитывается только при изменении конфигурации.

at_most_once_strategy

Тип: NYT::TIntrusivePtr<NYT::NFlow::TAtMostOnceStrategyParameters>
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора.

column_filter

Тип: std::optional<THashSet<std::string>>
Какие колонки из сообщения писать в очередь (по умолчанию — все).

Дополнительные параметры

update_partition_count_period

Тип: TDuration
Значение по умолчанию: 1m
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди).

update_partition_count_retry_min_backoff

Тип: TDuration
Значение по умолчанию: 1s
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается update_partition_count_period; последующие задержки растут экспоненциально.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TAtLeastOnceClickHouseSink>

Источник: 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
Значение по умолчанию: ordered_round_robin
Порядок выбора хостов внутри каждого шарда. ordered_round_robin сохраняет порядок из спеки и используется по умолчанию. random_start один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии.

shard_hosts

Тип: THashMap<std::string, std::vector<std::string>>
Значение по умолчанию: {}
Словарь «имя шарда → список хостов этого шарда» для многошардовой формы. Обязателен для TShardedClickHouseBatchingSink и отвергается TClickHouseBatchingSink; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема (name, type, default_kind, default_expression); схемы разных шардов также должны совпадать. У реплик должны совпадать zookeeper_name и zookeeper_path, а replica_name может различаться. Несколько хостов с обычным MergeTree или SharedMergeTree отвергаются; однохостовый SharedMergeTree поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, _ и -; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации.

sharding_key_columns

Тип: std::vector<std::string>
Значение по умолчанию: []
Колонки, по значениям которых считается ключ маршрутизации. Требует 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
Значение по умолчанию: 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.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TAtMostOnceClickHouseSink>

Источник: 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
Значение по умолчанию: ordered_round_robin
Порядок выбора хостов внутри каждого шарда. ordered_round_robin сохраняет порядок из спеки и используется по умолчанию. random_start один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии.

shard_hosts

Тип: THashMap<std::string, std::vector<std::string>>
Значение по умолчанию: {}
Словарь «имя шарда → список хостов этого шарда» для многошардовой формы. Обязателен для TShardedClickHouseBatchingSink и отвергается TClickHouseBatchingSink; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема (name, type, default_kind, default_expression); схемы разных шардов также должны совпадать. У реплик должны совпадать zookeeper_name и zookeeper_path, а replica_name может различаться. Несколько хостов с обычным MergeTree или SharedMergeTree отвергаются; однохостовый SharedMergeTree поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, _ и -; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации.

sharding_key_columns

Тип: std::vector<std::string>
Значение по умолчанию: []
Колонки, по значениям которых считается ключ маршрутизации. Требует 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
Значение по умолчанию: 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>
Необязательная стратегия доставки at-most-once. Поддержка зависит от коннектора; перед включением проверьте документацию выбранного коннектора.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TClickHouseBatchingSink>

Источник: 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
Значение по умолчанию: ordered_round_robin
Порядок выбора хостов внутри каждого шарда. ordered_round_robin сохраняет порядок из спеки и используется по умолчанию. random_start один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии.

shard_hosts

Тип: THashMap<std::string, std::vector<std::string>>
Значение по умолчанию: {}
Словарь «имя шарда → список хостов этого шарда» для многошардовой формы. Обязателен для TShardedClickHouseBatchingSink и отвергается TClickHouseBatchingSink; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема (name, type, default_kind, default_expression); схемы разных шардов также должны совпадать. У реплик должны совпадать zookeeper_name и zookeeper_path, а replica_name может различаться. Несколько хостов с обычным MergeTree или SharedMergeTree отвергаются; однохостовый SharedMergeTree поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, _ и -; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации.

sharding_key_columns

Тип: std::vector<std::string>
Значение по умолчанию: []
Колонки, по значениям которых считается ключ маршрутизации. Требует 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
Значение по умолчанию: 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.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TPassthroughComputation>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

processing_mode

Тип: NYT::NFlow::EProcessingMode
Значение по умолчанию: exactly_once

NYT::NFlow::TUnitedParameters<NYT::NFlow::TQueueSource>

Источник: 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>>>

Дополнительные параметры

update_info_period

Тип: TDuration
Значение по умолчанию: 15s
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии.

byte_size_alpha

Тип: double
Значение по умолчанию: 0.05
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные.

update_partition_count_period

Тип: TDuration
Значение по умолчанию: 1m
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди).

update_partition_count_retry_min_backoff

Тип: TDuration
Значение по умолчанию: 1s
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается update_partition_count_period; последующие задержки растут экспоненциально.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TRandomSource>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

finite

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

Дополнительные параметры

update_info_period

Тип: TDuration
Значение по умолчанию: 15s
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии.

byte_size_alpha

Тип: double
Значение по умолчанию: 0.05
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TServiceLogSource>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

Параметр

Описание

finite

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

table_joiner

Тип: NYT::TIntrusivePtr<NYT::NFlow::TTableJoinerSpec>
Значение по умолчанию: {}
Спека джойнера.

Дополнительные параметры

update_info_period

Тип: TDuration
Значение по умолчанию: 15s
Период обновления служебной информации source о партиции. Конкретный коннектор может использовать этот тик для запросов статуса и проверки живости сессии.

byte_size_alpha

Тип: double
Значение по умолчанию: 0.05
Коэффициент экспоненциального сглаживания средней суммы байтов и числа сообщений на один offset: чем он больше, тем быстрее оценка реагирует на новые данные.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TShardedClickHouseBatchingSink>

Источник: 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
Значение по умолчанию: ordered_round_robin
Порядок выбора хостов внутри каждого шарда. ordered_round_robin сохраняет порядок из спеки и используется по умолчанию. random_start один раз при создании клиента выбирает равновероятную начальную позицию и циклически сдвигает список. После этого clickhouse-cpp перебирает все конечные точки по кругу. Политика не меняет маршрутизацию строк, токены дедупликации и отпечаток топологии.

shard_hosts

Тип: THashMap<std::string, std::vector<std::string>>
Значение по умолчанию: {}
Словарь «имя шарда → список хостов этого шарда» для многошардовой формы. Обязателен для TShardedClickHouseBatchingSink и отвергается TClickHouseBatchingSink; остальные классы синков принимают любую из трёх форм задания хостов. Все конечные точки должны быть доступны. Внутри каждого шарда должны совпадать движок и полная упорядоченная схема (name, type, default_kind, default_expression); схемы разных шардов также должны совпадать. У реплик должны совпадать zookeeper_name и zookeeper_path, а replica_name может различаться. Несколько хостов с обычным MergeTree или SharedMergeTree отвергаются; однохостовый SharedMergeTree поддерживается. Это правило идентичности целевой таблицы действует для всех гарантий доставки. Имена шардов должны быть непусты и состоять из латинских букв, цифр, _ и -; список хостов шарда не должен быть пуст. Имя шарда — постоянный идентификатор, оно входит в токен дедупликации.

sharding_key_columns

Тип: std::vector<std::string>
Значение по умолчанию: []
Колонки, по значениям которых считается ключ маршрутизации. Требует 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
Значение по умолчанию: 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.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TSwiftPassthroughComputation>

Источник: 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 внутри ключа, такую логику нужно переписать с учётом этого.

NYT::NFlow::TUnitedParameters<NYT::NFlow::TSwiftPassthroughOrderedSourceComputation>

Источник: yt/yt/flow/library/cpp/common/registry-inl.h

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

NYT::NFlow::TUnitedParameters<NYT::NFlow::TSyncQueueSink>

Источник: 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; если не задано ни одно из двух выражений — маршрутизация выключена ($tablet_index не пишется, таблет выбирает драйвер). Шардированные очереди неудобны в эксплуатации (жёсткая связность object→таблет, решардирование переразбивает ключи), поэтому включайте маршрутизацию только при реальной необходимости. Маршрутизация поддерживается только для синхронных 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>
Политика сведения хеша tablet_index_routing_hash_expression к индексу таблета. Обязателен вместе с ним. range — непрерывные равноширокие диапазоны хеша (rangeSize = 2^64 / tablet_count), рекомендуется: потребитель, партиционированный по тому же ключу диапазонами, читает только свой таблет. modulo — hash % tablet_count; не рекомендуется: Computation-ы Flow партиционированы по ключу диапазонами, поэтому очередь, шардированная по модулю, вынуждает каждого читателя читать все таблеты (full mesh на чтении).

tablet_count

Тип: std::optional<long>
Число таблетов для сведения tablet_index_routing_hash_expression к индексу таблета. Необязателен. Если не задан, синк периодически перечитывает @tablet_count целевой очереди (из кэша мастера) и подхватывает решардирование без рестарта. Если задан явно — значение фиксировано, запросов в очередь нет, а решардирование учитывается только при изменении конфигурации.

column_filter

Тип: std::optional<THashSet<std::string>>
Какие колонки из сообщения писать в очередь (по умолчанию — все).

Дополнительные параметры

update_partition_count_period

Тип: TDuration
Значение по умолчанию: 1m
Как часто контроллеру обновлять число партиций в очереди (контроллер меняет число партиций computation в соответствии с числом партиций в очереди).

update_partition_count_retry_min_backoff

Тип: TDuration
Значение по умолчанию: 1s
Начальная задержка перед повторной попыткой обновить число партиций после ошибки с учетом джиттера. Значение ограничивается update_partition_count_period; последующие задержки растут экспоненциально.

NYT::NFlow::TVanillaConfig

Источник: yt/yt/flow/library/cpp/runner/vanilla_launcher.h

Параметр

Описание

enable

Тип: bool
Значение по умолчанию: false
Включить vanilla-режим. Если %false, блок игнорируется.

pool

Тип: std::string
Обязательный параметр
Пул, в котором запускается vanilla-операция.

worker

Тип: NYT::TIntrusivePtr<NYT::NFlow::TVanillaTaskConfig>
Обязательный параметр
Конфиг джоб воркеров (число джоб и лимиты ресурсов). Обязательно нужно указать count.

controller

Тип: NYT::TIntrusivePtr<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
Значение по умолчанию: 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-джоб.

NYT::NFlow::TVanillaTaskConfig

Источник: yt/yt/flow/library/cpp/runner/vanilla_launcher.h

Параметр

Описание

count

Тип: int
Обязательный параметр
Число джоб задачи (контроллера или воркера) в vanilla-операции.

memory_limit

Тип: std::optional<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.

NYT::NFlow::TWatermarkAlignmentSpec

Источник: 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
Значение по умолчанию: 20m
Максимальное возможное опережение вотермарка отдельной партиции от вотермарка всей группы

read_delays

Тип: std::optional<THashMap<NYT::NFlow::TStrongIdentifierTypedef<NYT::NFlow::TStreamIdTag>, TDuration>>
Опция для продвинутого использования. Если EventTimestamp выходного сообщения больше, чем EventWatermark - Delay хотя бы для одного указанного потока, то чтение приостанавливается. При неправильной настройке опция может привести к полной остановке чтения.

NYT::NFlow::TWatermarkGeneratorSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

use_source_watermark

Тип: bool
Значение по умолчанию: false
Использовать SourceWatermark для генерации EventWatermark. Эта опция полностью отключает все эвристики для определения EventWatermark и её нужно использовать строго в тех случаях, когда во входном потоке есть специальные маркеры с EventWatermark.

out_of_orderness_bound

Тип: TDuration
Значение по умолчанию: 0
Ограничение сверху на возможное переупорядочивание событий, используемое для оценки EventWatermark. По умолчанию переупорядочивание не учитывается.

idle_partitions

Тип: NYT::TIntrusivePtr<NYT::NFlow::TIdlePartitionsSpec>
Настройки эвристики для игнорирования партиций с нулевым потоком записи.

late_data_partitions

Тип: NYT::TIntrusivePtr<NYT::NFlow::TLateDataPartitionsSpec>

NYT::NFlow::TWatermarkPercentileSpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

value

Тип: NYT::TStrongTypedef<double, NYT::NFlow::TWatermarkPercentileTag, NYT::TStrongTypedefOptions{true}>
Значение по умолчанию: 100.0
Процент безусловно учитываемых для расчёта EventWatermark событий

delay

Тип: TDuration
Значение по умолчанию: 1m
Порог свежести для событий ниже выбранного персентиля

NYT::NFlow::TWatermarkStrategySpec

Источник: yt/yt/flow/library/cpp/common/spec.h

Параметр

Описание

event_timestamp_assigner

Тип: NYT::TIntrusivePtr<NYT::NFlow::TEventTimestampAssignerSpec>
Значение по умолчанию: {}
Автоматическое заполнение EventTimestamp всех output сообщений на базе значения определённой колонки.

watermark_generator

Тип: NYT::TIntrusivePtr<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>
Настройки выравнивания source между разными партициями, в том числе разных Computation

watermark_percentile

Тип: NYT::TIntrusivePtr<NYT::NFlow::TWatermarkPercentileSpec>
Значение по умолчанию: {}
Настройка "персентильного" EventWatermark. Используется для игнорирования самых старых событий в пределах сконфигурированного процента.

NYT::NHttp::TClientConfig

Источник: 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
Значение по умолчанию: 5m

header_read_timeout

Тип: TDuration
Значение по умолчанию: 30s

body_read_idle_timeout

Тип: TDuration
Значение по умолчанию: 5m

write_idle_timeout

Тип: 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>
Значение по умолчанию: {}

NYT::NHttps::TClientConfig

Источник: 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
Значение по умолчанию: 5m

header_read_timeout

Тип: TDuration
Значение по умолчанию: 30s

body_read_idle_timeout

Тип: TDuration
Значение по умолчанию: 5m

write_idle_timeout

Тип: 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>
Значение по умолчанию: {}

credentials

Тип: NYT::TIntrusivePtr<NYT::NHttps::TClientCredentialsConfig>

allow_http

Тип: bool
Значение по умолчанию: false

NYT::NHttps::TClientCredentialsConfig

Источник: yt/yt/core/https/config.h

Параметр

Описание

ca

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

cert_chain

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

private_key

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

ssl_configuration_commands

Тип: std::vector<NYT::TIntrusivePtr<NYT::NCrypto::TSslContextCommand>>
Значение по умолчанию: []

insecure_skip_verify

Тип: bool
Значение по умолчанию: false

NYT::NLogging::ELogFamily

Возможные значения

Описание

plain_text

structured

NYT::NLogging::ELogLevel

Возможные значения

Описание

minimum

trace

debug

info

warning

error

alert

fatal

maximum

NYT::NLogging::TLogManagerConfig

Источник: yt/yt/core/logging/config.h

Параметр

Описание

flush_period

Тип: std::optional<TDuration>

watch_period

Тип: std::optional<TDuration>

check_space_period

Тип: std::optional<TDuration>

rotation_check_period

Тип: TDuration
Значение по умолчанию: 5s

min_disk_space

Тип: long
Значение по умолчанию: 5368709120

high_backlog_watermark

Тип: int
Значение по умолчанию: 10000000

low_backlog_watermark

Тип: int
Значение по умолчанию: 1000000

shutdown_grace_timeout

Тип: TDuration
Значение по умолчанию: 1s

shutdown_busy_timeout

Тип: TDuration
Значение по умолчанию: 0

rules

Тип: std::vector<NYT::TIntrusivePtr<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>
Значение по умолчанию: {}

request_suppression_timeout

Тип: 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

NYT::NLogging::TLogManagerDynamicConfig

Источник: 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>>>

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>
Значение по умолчанию: {}

request_suppression_timeout

Тип: std::optional<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>

NYT::NLogging::TRuleConfig

Источник: yt/yt/core/logging/config.h

Параметр

Описание

include_categories

Тип: std::optional<THashSet<std::string>>

exclude_categories

Тип: THashSet<std::string>
Значение по умолчанию: []

min_level

Тип: NYT::NLogging::ELogLevel
Значение по умолчанию: minimum

max_level

Тип: NYT::NLogging::ELogLevel
Значение по умолчанию: maximum

family

Тип: std::optional<NYT::NLogging::ELogFamily>

writers

Тип: std::vector<std::string>
Обязательный параметр

NYT::NNet::TAddressResolverConfig

Источник: yt/yt/core/net/config.h

Параметр

Описание

shard_count

Тип: unsigned long
Значение по умолчанию: 1

expire_after_access_time

Тип: TDuration
Значение по умолчанию: 5m

expire_after_successful_update_time

Тип: TDuration
Значение по умолчанию: 2m

expire_after_failed_update_time

Тип: TDuration
Значение по умолчанию: 30s

refresh_time

Тип: std::optional<TDuration>
Значение по умолчанию: 60000

expiration_period

Тип: std::optional<TDuration>
Значение по умолчанию: 60000

batch_update

Тип: bool
Значение по умолчанию: false

retries

Тип: int
Значение по умолчанию: 25

retry_delay

Тип: TDuration
Значение по умолчанию: 200ms

resolve_timeout

Тип: TDuration
Значение по умолчанию: 1s

max_resolve_timeout

Тип: TDuration
Значение по умолчанию: 15s

warning_timeout

Тип: 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

NYT::NNet::TDialerConfig

Источник: yt/yt/core/net/config.h

Параметр

Описание

enable_no_delay

Тип: bool
Значение по умолчанию: true

enable_aggressive_reconnect

Тип: bool
Значение по умолчанию: false

allow_bypass_tls

Тип: bool
Значение по умолчанию: false

min_rto

Тип: TDuration
Значение по умолчанию: 100ms

max_rto

Тип: TDuration
Значение по умолчанию: 30s

rto_scale

Тип: double
Значение по умолчанию: 2.0

connect_timeout

Тип: TDuration
Значение по умолчанию: 15s

NYT::NPipeIO::TPipeIODispatcherConfig

Источник: yt/yt/library/pipe_io/config.h

Параметр

Описание

thread_pool_polling_period

Тип: TDuration
Значение по умолчанию: 10ms

NYT::NPipeIO::TPipeIODispatcherDynamicConfig

Источник: yt/yt/library/pipe_io/config.h

Параметр

Описание

thread_pool_polling_period

Тип: std::optional<TDuration>

NYT::NProfiling::ELabelSanitizationPolicy

Возможные значения

Описание

none

weak

strong

NYT::NProfiling::TResourceTrackerConfig

Источник: yt/yt/library/profiling/resource_tracker/config.h

Параметр

Описание

enable

Тип: bool
Значение по умолчанию: true

cpu_to_vcpu_factor

Тип: std::optional<double>

NYT::NProfiling::TShardConfig

Источник: yt/yt/library/profiling/solomon/config.h

Параметр

Описание

filter

Тип: std::vector<std::string>
Значение по умолчанию: []

grid_step

Тип: std::optional<TDuration>

strip_sensors_name_prefix

Тип: bool
Значение по умолчанию: false

NYT::NProfiling::TSolomonExporterConfig

Источник: yt/yt/library/profiling/solomon/config.h

Параметр

Описание

enable

Тип: bool
Значение по умолчанию: true

grid_step

Тип: TDuration
Значение по умолчанию: 5s

linger_timeout

Тип: TDuration
Значение по умолчанию: 5m

window_size

Тип: int
Значение по умолчанию: 12

thread_pool_size

Тип: int
Значение по умолчанию: 1

encoding_thread_pool_size

Тип: int
Значение по умолчанию: 1

thread_pool_polling_period

Тип: TDuration
Значение по умолчанию: 10ms

encoding_thread_pool_polling_period

Тип: 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
Значение по умолчанию: 5s

host

Тип: std::optional<std::string>

instance_tags

Тип: THashMap<std::string, std::string>
Значение по умолчанию: {}

shards

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NProfiling::TShardConfig>>
Значение по умолчанию: {}

response_cache_ttl

Тип: TDuration
Значение по умолчанию: 2m

update_sensor_service_tree_period

Тип: TDuration
Значение по умолчанию: 30s

producer_collection_batch_size

Тип: int
Значение по умолчанию: 100

label_sanitization_policy

Тип: NYT::NProfiling::ELabelSanitizationPolicy
Значение по умолчанию: none

NYT::NProfiling::TSolomonProxyConfig

Источник: yt/yt/library/profiling/solomon/proxy.h

Параметр

Описание

public_component_names

Тип: std::optional<THashSet<std::string>>

max_endpoints_per_request

Тип: int
Значение по умолчанию: 30

NYT::NProfiling::TSolomonRegistryConfig

Источник: yt/yt/library/profiling/solomon/config.h

Параметр

Описание

enable_rseq

Тип: bool
Значение по умолчанию: false

NYT::NProfiling::TSolomonRegistryDynamicConfig

Источник: yt/yt/library/profiling/solomon/config.h

Параметр

Описание

enable_rseq

Тип: std::optional<bool>

NYT::NQueryClient::EStatisticsAggregation

Возможные значения

Описание

none

depth

depth_omit_node

NYT::NQueryClient::TCodegenCacheConfig

Источник: 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

NYT::NQueryClient::TCodegenCacheDynamicConfig

Источник: 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>

NYT::NQueryClient::TQueryEngineConfig

Источник: yt/yt/library/query/engine_api/query_engine_config.h

Параметр

Описание

codegen_cache

Тип: NYT::TIntrusivePtr<NYT::NQueryClient::TCodegenCacheConfig>
Значение по умолчанию: {}

NYT::NQueryClient::TQueryEngineDynamicConfig

Источник: yt/yt/library/query/engine_api/query_engine_config.h

Параметр

Описание

codegen_cache

Тип: NYT::TIntrusivePtr<NYT::NQueryClient::TCodegenCacheDynamicConfig>
Значение по умолчанию: {}

statistics_aggregation

Тип: std::optional<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>

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>

NYT::NRpc::EPeerPriorityStrategy

Возможные значения

Описание

none

prefer_local

NYT::NRpc::ERequestTracingMode

Возможные значения

Описание

enable

disable

force

NYT::NRpc::NGrpc::TChannelConfig

Источник: yt/yt/core/rpc/grpc/config.h

Параметр

Описание

credentials

Тип: NYT::TIntrusivePtr<NYT::NRpc::NGrpc::TChannelCredentialsConfig>

grpc_arguments

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NYTree::INode>>
Значение по умолчанию: {}

address

Тип: std::string
Значение по умолчанию: TString("")

NYT::NRpc::NGrpc::TChannelCredentialsConfig

Источник: yt/yt/core/rpc/grpc/config.h

Параметр

Описание

pem_root_certs

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

pem_key_cert_pair

Тип: NYT::TIntrusivePtr<NYT::NRpc::NGrpc::TSslPemKeyCertPairConfig>

verify_server_cert

Тип: bool
Значение по умолчанию: true

NYT::NRpc::NGrpc::TDispatcherConfig

Источник: 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
Значение по умолчанию: error

NYT::NRpc::NGrpc::TDispatcherDynamicConfig

Источник: yt/yt/core/rpc/grpc/config.h

Параметр

Описание

grpc_internal_min_log_level

Тип: std::optional<NYT::NLogging::ELogLevel>

NYT::NRpc::NGrpc::TSslPemKeyCertPairConfig

Источник: yt/yt/core/rpc/grpc/config.h

Параметр

Описание

private_key

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

cert_chain

Тип: NYT::TIntrusivePtr<NYT::NCrypto::TPemBlobConfig>

NYT::NRpc::TDispatcherConfig

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

heavy_pool_size

Тип: int
Значение по умолчанию: 16

compression_pool_size

Тип: int
Значение по умолчанию: 8

heavy_pool_polling_period

Тип: TDuration
Значение по умолчанию: 10ms

default_request_timeout

Тип: TDuration
Значение по умолчанию: 1d

alert_on_missing_request_annotation

Тип: bool
Значение по умолчанию: false

alert_on_unset_request_timeout

Тип: bool
Значение по умолчанию: false

send_tracing_baggage

Тип: bool
Значение по умолчанию: true

NYT::NRpc::TDispatcherDynamicConfig

Источник: 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>

alert_on_missing_request_annotation

Тип: std::optional<bool>

send_tracing_baggage

Тип: std::optional<bool>

NYT::NRpc::TDynamicChannelPoolConfig

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

discover_timeout

Тип: TDuration
Значение по умолчанию: 15s

acknowledgement_timeout

Тип: TDuration
Значение по умолчанию: 15s

rediscover_period

Тип: TDuration
Значение по умолчанию: 1m

rediscover_splay

Тип: TDuration
Значение по умолчанию: 15s

hard_backoff_time

Тип: TDuration
Значение по умолчанию: 1m

soft_backoff_time

Тип: 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
Значение по умолчанию: 1s

enable_peer_polling

Тип: bool
Значение по умолчанию: false

peer_polling_period

Тип: TDuration
Значение по умолчанию: 1m

peer_polling_period_splay

Тип: TDuration
Значение по умолчанию: 10s

peer_polling_request_timeout

Тип: TDuration
Значение по умолчанию: 15s

peer_priority_strategy

Тип: NYT::NRpc::EPeerPriorityStrategy
Значение по умолчанию: none

discovery_session_timeout

Тип: TDuration

NYT::NRpc::THistogramExponentialBounds

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

min

Тип: TDuration
Значение по умолчанию: 0

max

Тип: TDuration
Значение по умолчанию: 2s

NYT::NRpc::TRetryingChannelConfig

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

retry_backoff_time

Тип: TDuration
Значение по умолчанию: 3s

retry_attempts

Тип: int
Значение по умолчанию: 10

enable_exponential_retry_backoffs

Тип: bool
Значение по умолчанию: false

retry_backoff

Тип: NYT::TExponentialBackoffOptions
Значение по умолчанию:

{
    "backoff_jitter" = 0.1;
    "backoff_multiplier" = 1.5;
    "invocation_count" = 10;
    "max_backoff" = 5000;
    "min_backoff" = 1000;
}

retry_timeout

Тип: std::optional<TDuration>

NYT::NRpc::TServerConfig

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

enable_per_user_profiling

Тип: bool
Значение по умолчанию: false

timing_histogram

Тип: NYT::TIntrusivePtr<NYT::NRpc::TTimeHistogramConfig>

enable_error_code_counter

Тип: bool
Значение по умолчанию: false

tracing_mode

Тип: NYT::NRpc::ERequestTracingMode
Значение по умолчанию: enable

services

Тип: THashMap<std::string, NYT::TIntrusivePtr<NYT::NYTree::INode>>
Значение по умолчанию: {}

NYT::NRpc::TServiceDiscoveryEndpointsConfig

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

cluster

Тип: std::optional<std::string>

clusters

Тип: std::vector<std::string>
Значение по умолчанию: []

endpoint_set_id

Тип: std::string
Обязательный параметр

update_period

Тип: TDuration
Значение по умолчанию: 1m

use_ipv4

Тип: bool
Значение по умолчанию: false

use_ipv6

Тип: bool
Значение по умолчанию: true

NYT::NRpc::TTimeHistogramConfig

Источник: yt/yt/core/rpc/config.h

Параметр

Описание

exponential_bounds

Тип: std::optional<NYT::TIntrusivePtr<NYT::NRpc::THistogramExponentialBounds>>

custom_bounds

Тип: std::optional<std::vector<TDuration>>

NYT::NTCMalloc::TDynamicHeapSizeLimitConfig

Источник: 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>

memory_profile_dump_path

Тип: std::optional<std::string>

memory_profile_dump_filename_suffix

Тип: std::optional<std::string>

NYT::NTCMalloc::TDynamicTCMallocConfig

Источник: 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>

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>
Значение по умолчанию: {}

NYT::NTCMalloc::THeapSizeLimitConfig

Источник: 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
Значение по умолчанию: 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>

NYT::NTCMalloc::TMemoryProfileRetentionConfig

Источник: yt/yt/library/tcmalloc/config.h

Параметр

Описание

max_dump_count

Тип: std::optional<int>

max_dump_age

Тип: std::optional<TDuration>

max_total_size

Тип: std::optional<long>

max_orphan_age

Тип: TDuration
Значение по умолчанию: 1d

NYT::NTCMalloc::TTCMallocConfig

Источник: 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
Значение по умолчанию: 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>
Значение по умолчанию: {}

NYT::NTracing::TJaegerTracerConfig

Источник: yt/yt/library/tracing/jaeger/config.h

Параметр

Описание

collector_channel_config

Тип: NYT::TIntrusivePtr<NYT::NRpc::NGrpc::TChannelConfig>

flush_period

Тип: TDuration
Значение по умолчанию: 15s

stop_timeout

Тип: TDuration
Значение по умолчанию: 15s

rpc_timeout

Тип: TDuration
Значение по умолчанию: 15s

queue_stall_timeout

Тип: TDuration
Значение по умолчанию: 15m

max_request_size

Тип: long
Значение по умолчанию: 131072

max_batch_size

Тип: long
Значение по умолчанию: 128

max_memory

Тип: long
Значение по умолчанию: 1073741824

subsampling_rate

Тип: std::optional<double>

reconnect_period

Тип: TDuration
Значение по умолчанию: 15m

endpoint_channel_timeout

Тип: 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

NYT::NTracing::TJaegerTracerDynamicConfig

Источник: yt/yt/library/tracing/jaeger/config.h

Параметр

Описание

collector_channel

Тип: NYT::TIntrusivePtr<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>

NYT::NYTree::TSize

Описание:
Тип-обёртка над int64, расширяющая его парсинг из yson. Он может парситься из yson-значений следующих типов:

  • int64. В этом случае значение берётся как есть.

  • uint64. Значение берётся как есть, но если оно не входит в диапазон допустимых значений int64, то выбрасывается исключение.

  • string. Значение парсится из строки с поддержкой суффиксов, определяющих множитель.

    • K, M, G, T, P, E — суффиксы, соответствующие множителям , и т. д.
    • Ki, Mi, Gi, Ti, Pi, Ei — суффиксы, соответствующие множителям , и т. д.

    То есть 12M — это , 1Ki — это .

NYT::NYson::EEnumYsonStorageType

Возможные значения

Описание

string

int

NYT::NYson::EUtf8Check

Возможные значения

Описание

disable

log_on_fail

throw_on_fail

NYT::NYson::TProtobufInteropConfig

Источник: yt/yt/core/yson/config.h

Параметр

Описание

default_enum_yson_storage_type

Тип: NYT::NYson::EEnumYsonStorageType
Значение по умолчанию: string

utf8_check

Тип: NYT::NYson::EUtf8Check
Значение по умолчанию: throw_on_fail

force_snake_case_names

Тип: bool
Значение по умолчанию: false

force_enum_string_type

Тип: bool
Значение по умолчанию: false

NYT::NYson::TProtobufInteropDynamicConfig

Источник: yt/yt/core/yson/config.h

Параметр

Описание

utf8_check

Тип: std::optional<NYT::NYson::EUtf8Check>

NYT::TSingletonsDynamicConfig

Источник: yt/yt/core/misc/configurable_singleton_def.h

Параметр

Описание

logging

Тип: NYT::TIntrusivePtr<NYT::NLogging::TLogManagerDynamicConfig>
Значение по умолчанию: {}

grpc_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NRpc::NGrpc::TDispatcherDynamicConfig>
Значение по умолчанию: {}

jaeger

Тип: NYT::TIntrusivePtr<NYT::NTracing::TJaegerTracerDynamicConfig>
Значение по умолчанию: {}

tcmalloc

Тип: NYT::TIntrusivePtr<NYT::NTCMalloc::TDynamicTCMallocConfig>
Значение по умолчанию: {}

fiber_manager

Тип: NYT::TIntrusivePtr<NYT::NConcurrency::TFiberManagerDynamicConfig>
Значение по умолчанию: {}

pipe_io_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NPipeIO::TPipeIODispatcherDynamicConfig>
Значение по умолчанию: {}

tcp_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NBus::NTcp::TDispatcherDynamicConfig>
Значение по умолчанию: {}

solomon_registry

Тип: NYT::TIntrusivePtr<NYT::NProfiling::TSolomonRegistryDynamicConfig>
Значение по умолчанию: {}

rpc_dispatcher

Тип: NYT::TIntrusivePtr<NYT::NRpc::TDispatcherDynamicConfig>
Значение по умолчанию: {}

error_backtrace_enricher

Тип: NYT::TIntrusivePtr<NYT::NFlow::TBacktraceEnricherDynamicSpec>
Значение по умолчанию: {}

query_engine_config

Тип: NYT::TIntrusivePtr<NYT::NQueryClient::TQueryEngineDynamicConfig>
Значение по умолчанию: {}

protobuf_interop

Тип: NYT::TIntrusivePtr<NYT::NYson::TProtobufInteropDynamicConfig>
Значение по умолчанию: {}

TDuration

Описание:
Тип продолжительности временного промежутка. Он может парситься из yson-значений следующих типов:

  • uint64. Задаёт время в миллисекундах.
  • int64. Так же как и uint64. Выбрасывается исключение в случае отрицательного значения.
  • double. Так же как и int64. Поведение в случае значения выходящего за пределы значений uint64 не определено.
  • string. Задаёт время в форматах: 10s, 15ms, 15.05s, 20us, 25. Если суффикс не указан, то число трактуется как время в секундах.
Предыдущая
Следующая