C++ YT Wrapper
C++ library for working with YT clusters
Loading...
Searching...
No Matches
NYT::TConfig Struct Reference
Inheritance diagram for NYT::TConfig:

Public Member Functions

void LoadToken ()
void LoadSpec ()
void LoadTimings ()
void LoadProxyUrlAliasingRules ()
void Reset ()

Static Public Member Functions

static bool GetBool (const char *var, bool defaultValue=false)
static int GetInt (const char *var, int defaultValue)
static TDuration GetDuration (const char *var, TDuration defaultValue)
static EEncoding GetEncoding (const char *var)
static EUploadDeduplicationMode GetUploadingDeduplicationMode (const char *var, EUploadDeduplicationMode defaultValue)
static void ValidateToken (const TString &token)
static TString LoadTokenFromFile (const TString &tokenPath)
static TNode LoadJsonSpec (const TString &strSpec)
static TRichYPath LoadApiFilePathOptions (const TString &ysonMap)
static TConfigPtr Get ()

Public Attributes

TString Hosts
TString Pool
TString Token
TString Prefix
TString ApiVersion
TString LogLevel
TString LogPath
THashSet< TString > LogExcludeCategories = {"Bus", "Net", "Dns", "Concurrency"}
TString StructuredLog
 Path to the structured log file for recording telemetry data in JSON format. This allows later retrieval and analysis of these metrics.
TString HttpProxyRole
 Represents the role involved in HTTP proxy configuration.
TString RpcProxyRole
 Represents the role involved in RPC proxy configuration.
THashMap< TString, TString > ProxyUrlAliasingRules
 Proxy url aliasing rules to be used for connection.
bool LogUseCore = true
EEncoding ContentEncoding
EEncoding AcceptEncoding
TString GlobalTxId
bool ForceIpV4
bool ForceIpV6
bool UseHosts
bool PreferHttps
 Use https if no schema was provided in proxy url.
bool UseTLS
TDuration HostListUpdateInterval
TNode Spec
TNode TableWriter
TDuration ConnectTimeout
TDuration SocketTimeout
TDuration AddressCacheExpirationTimeout
TDuration TxTimeout
TDuration PingTimeout
TDuration PingInterval
int AsyncHttpClientThreads
int AsyncTxPingerPoolThreads
TDuration WaitLockPollInterval
TDuration RetryInterval
TDuration ChunkErrorsRetryInterval
TDuration RateLimitExceededRetryInterval
TDuration StartOperationRetryInterval
int RetryCount
int ReadRetryCount
int StartOperationRetryCount
int CheckLivenessRetryCount
TDuration OperationTrackerPollPeriod = TDuration::Seconds(5)
 Period for checking status of running operation.
TString RemoteTempFilesDirectory
TString RemoteTempTablesDirectory
bool KeepTempTables = false
bool InferTableSchema
bool UseClientProtobuf
ENodeReaderFormat NodeReaderFormat
bool ProtobufFormatWithDescriptors
int ConnectionPoolSize
TPatchableField< i64 > FileCacheReplicationFactor = TPatchableField<i64>("file_cache_replication_factor", 10)
TDuration CacheLockTimeoutPerGb
 Used when waiting for other process which uploads the same file to the file cache.
EUploadDeduplicationMode CacheUploadDeduplicationMode
 Used to prevent concurrent uploading of the same file to the file cache. NB: Each mode affects only users with the same mode enabled.
i64 CacheUploadDeduplicationThreshold
bool LockFileStorage = false
 Take a shared lock on the file cache directory during operation preparation.
bool MountSandboxInTmpfs
TRichYPath ApiFilePathOptions
 Set upload options (e.g.) for files created by library.
bool UseAbortableResponse = false
bool EnableDebugMetrics = false
bool UseHaltingResponse = false
 Simulate a response that halts (stops sending data) mid-stream.
i64 HaltingResponseBytesLimit = 64 * 1024
 Maximum number of bytes sent before the response is halted.
bool EnableLocalModeOptimization = true
bool WriteStderrSuccessfulJobs = false
ETraceHttpRequestsMode TraceHttpRequestsMode = ETraceHttpRequestsMode::Never
TString SkynetApiHost
TMaybe< int > SocketPriority
THashSet< TString > CommandsWithFraming
ETableWriterVersion TableWriterVersion = ETableWriterVersion::Auto
 Which implemetation of table writer to use.
bool RedirectStdoutToStderr = false
 Redirects stdout to stderr for jobs.
bool EnableDebugCommandLineArguments = true
 Append job and operation IDs as shell command options.
TString ConfigRemotePatchPath = "//sys/client_config"
 Path to document node with cluster config for |IClient::GetDynamicConfiguration|.
TPatchableField< TString > OperationLinkPattern = TPatchableField<TString>("operation_link_pattern", "https://yt.yandex-team.ru/{cluster_ui_host}/operations/{operation_id}")
 Pattern for generating operation web link in |GetOperationWebInterfaceUrl|.
bool EnableClientTracing = true
 Allow to create trace_id on client side and propogate with request.
bool EnableControlMultiplexingBand = false
 If true, all RPC requests share a single connection,.

Member Data Documentation

◆ ApiFilePathOptions

TRichYPath NYT::TConfig::ApiFilePathOptions

Set upload options (e.g.) for files created by library.

Path itself is always ignored but path options (e.g. BypassArtifactCache) are used when uploading system files: cppbinary, job state, etc

◆ CacheLockTimeoutPerGb

TDuration NYT::TConfig::CacheLockTimeoutPerGb

Used when waiting for other process which uploads the same file to the file cache.

If CacheUploadDeduplicationMode is not Disabled, current process can wait for some other process which is uploading the same file. This value is proportional to the timeout of waiting, actual timeout computes as follows: fileSizeGb * CacheLockTimeoutPerGb. Default timeout assumes that host has uploading speed equal to 20 Mb/s. If timeout was reached, the file will be uploaded by current process without any other waits.

◆ FileCacheReplicationFactor

TPatchableField<i64> NYT::TConfig::FileCacheReplicationFactor = TPatchableField<i64>("file_cache_replication_factor", 10)

Defines replication factor that is used for files that are uploaded to YT to use them in operations.

◆ HaltingResponseBytesLimit

i64 NYT::TConfig::HaltingResponseBytesLimit = 64 * 1024

Maximum number of bytes sent before the response is halted.

Testing options, should never be used in user programs. Only meaningful when UseHaltingResponse is true.

◆ HttpProxyRole

TString NYT::TConfig::HttpProxyRole

Represents the role involved in HTTP proxy configuration.

Note
If the "Hosts" configuration option is specified, it is given priority over the HTTP proxy role.

◆ LockFileStorage

bool NYT::TConfig::LockFileStorage = false

Take a shared lock on the file cache directory during operation preparation.

Prevents periodic cleaners from removing the cache directory between its creation and operation files upload to the cache.

Only non-default file storages are locked. The default one is expected to be protected on the cluster side.

◆ LogUseCore

bool NYT::TConfig::LogUseCore = true

For historical reasons mapreduce client uses its own logging system.

Currently library uses yt/yt/core logging by default. But if user calls NYT::SetLogger, library switches back to logger provided by user (except for messages from yt/yt/core).

TODO: This is a temporary option for emergency fallback. Should be removed after eliminating all NYT::SetLogger references.

◆ ProxyUrlAliasingRules

THashMap<TString, TString> NYT::TConfig::ProxyUrlAliasingRules

Proxy url aliasing rules to be used for connection.

You can pass here "foo" => "fqdn:port" and afterwards use "foo" as handy alias, while all connections will be made to "fqdn:port" address.

◆ UseHaltingResponse

bool NYT::TConfig::UseHaltingResponse = false

Simulate a response that halts (stops sending data) mid-stream.

Testing options, should never be used in user programs. When enabled, the HTTP response will be truncated after HaltingResponseBytesLimit bytes.


The documentation for this struct was generated from the following file: