<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yt/cpp, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-07-19T13:32:19Z</updated>
<entry>
<title>YT-27970: add opt-in native client side multiplexing</title>
<updated>2026-07-19T13:32:19Z</updated>
<author>
<name>achains</name>
<email>achains@yandex-team.com</email>
</author>
<published>2026-07-19T10:58:26Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=88a3c167e6203b6c935160d318b6081ebe03abfc'/>
<id>urn:sha1:88a3c167e6203b6c935160d318b6081ebe03abfc</id>
<content type='text'>
commit_hash:87de51fe271596eaf0354bc99ef472e3a3c29d0f
</content>
</entry>
<entry>
<title>YT-28161: Add Commit options</title>
<updated>2026-07-18T10:04:56Z</updated>
<author>
<name>achains</name>
<email>achains@yandex-team.com</email>
</author>
<published>2026-07-18T08:29:44Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7afc2c8650259f3b8e29491e1701bdcba2d1d62b'/>
<id>urn:sha1:7afc2c8650259f3b8e29491e1701bdcba2d1d62b</id>
<content type='text'>
commit_hash:254111f674ff4126bd7781741ad035f436bfa073
</content>
</entry>
<entry>
<title>YT-28451: Add tagged logging API and opaque event payload</title>
<updated>2026-07-17T09:07:46Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-07-16T07:32:17Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=cc4f0cb52cee106a1e84c653823087861b8c8df5'/>
<id>urn:sha1:cc4f0cb52cee106a1e84c653823087861b8c8df5</id>
<content type='text'>
Replace `TLogEvent::MessageRef` with an opaque `Payload` that carries the message
together with structured key/value tags, deferring tag rendering to the consumer
(logging thread).

- Add the `TTaggedPayloadWriter`/`TTaggedPayloadReader` codec (`NDetail`), with a
  per-thread chunk-cached builder so tagged logging does no per-message heap
  allocation.
- Model the payload as a typed `TLogEventPayload` — a `std::variant` of the opaque
  strong typedefs `TTaggedLogEventPayload` and `TStructuredLogEventPayload` (each
  over `TSharedRef`). The active alternative identifies the event kind, so the
  separate `ELogMessageKind` enum and `TLogEvent::MessageKind` field are removed;
  consumers dispatch via `std::holds_alternative`/`std::get` instead of a tag.
- Add the fluent `YT_TLOG_*` API: `YT_TLOG_INFO("Message").With(key, value)` and
  `.With(key, value, "%spec")`; disabled levels skip argument evaluation.
- Add well-known tags: `.With(value)` attaches a value under a statically known
  key resolved by ADL (e.g. `.With(error)` for the `Error` tag).
- Teach the plain-text and structured formatters to render tags; add the
  `enable_native_tags` knob to emit tags into a nested structured attribute.
- Add producer-side benchmarks. The tagged API is cheaper than `YT_LOG_*` for
  tagged calls and on par for tag-free ones:

#|
|| **Producer call** | **`YT_LOG_*`** | **`YT_TLOG_*`** | **Δ** ||
|| no tags   | 81 ns  | 82 ns  | +2%  ||
|| 1 tag     | 124 ns | 88 ns  | -29% ||
|| 2 tags    | 140 ns | 101 ns | -28% ||
|| 3 tags    | 372 ns | 283 ns | -24% ||
|#

--

#| || **&lt;a href="https://nda.ya.ru/t/p0sVNSOC7ijzFF" target="_blank"&gt;![](https://nda.ya.ru/t/mAiQIjHx7Mm3JC =30x) Echo tests&lt;/a&gt;** || |#
commit_hash:70efc90e5c2b71e5311415a4e4508db42ff28971
</content>
</entry>
<entry>
<title>Revert "YT-27827: TPingerTransaction use BlockingGet instead of WaitFor in destructor"</title>
<updated>2026-07-03T20:23:22Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2026-07-03T19:58:05Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5bca0c1d9431d470b8a8c523295ddef1bff53f02'/>
<id>urn:sha1:5bca0c1d9431d470b8a8c523295ddef1bff53f02</id>
<content type='text'>
This reverts commit 90bbe36635e0d48c81c153567dcedf28f103efbe, reversing
changes made to 270d7be117d1eacc9c8aff93d9aaeb510fa910e2.
commit_hash:23c13dd27b089f56e049580d1416d17a22c4bc80
</content>
</entry>
<entry>
<title>retry MasterDisconnected error</title>
<updated>2026-07-01T06:09:04Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2026-07-01T05:45:46Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5a228d75d98c3716797bb7ca238e988c8351c82f'/>
<id>urn:sha1:5a228d75d98c3716797bb7ca238e988c8351c82f</id>
<content type='text'>
commit_hash:c69288b219a7b906cc9427b23ddc599f149fb77c
</content>
</entry>
<entry>
<title>YT-28516: Don't initialize storage for streams</title>
<updated>2026-06-21T22:33:24Z</updated>
<author>
<name>pavook</name>
<email>pavook@yandex-team.com</email>
</author>
<published>2026-06-21T22:10:26Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e841019b8fb4a997b664fa69e8f93e02f47c11c3'/>
<id>urn:sha1:e841019b8fb4a997b664fa69e8f93e02f47c11c3</id>
<content type='text'>
commit_hash:f8f1ac8f679dae4ba11c4c52582798b12b550552
</content>
</entry>
<entry>
<title>YT-28380: Add CheckClusterLiveness to C++ SDK</title>
<updated>2026-06-15T10:54:52Z</updated>
<author>
<name>dagorokhov</name>
<email>dagorokhov@yandex-team.com</email>
</author>
<published>2026-06-15T10:22:53Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=246d9269952ba8a27a1487cf4775ae6ec4740ee6'/>
<id>urn:sha1:246d9269952ba8a27a1487cf4775ae6ec4740ee6</id>
<content type='text'>
* Changelog entry
  Type: feature
  Component: cpp-sdk

Add CheckClusterLiveness handle
commit_hash:9b3f23b70fb639693a67edbe9ed2b80683fea61b
</content>
</entry>
<entry>
<title>YT-22593: Migrate TOperationIdOrAlias alias to std::string</title>
<updated>2026-06-14T18:15:45Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-14T17:44:49Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=9759cc2f3d73aef96ecb5c06671bfef3443b40df'/>
<id>urn:sha1:9759cc2f3d73aef96ecb5c06671bfef3443b40df</id>
<content type='text'>
Change the alias alternative of the operation id-or-alias variant to
std::string and propagate through the visitor lambdas, ResolveOperationAlias,
the driver OperationAlias field and the clickhouse handler.
commit_hash:6aab0b10eeb1367a1ec4c4d829855c7dd3cf4347
</content>
</entry>
<entry>
<title>YT-22593: Migrate TString to std::string in yt/yt/client/api option fields</title>
<updated>2026-06-14T14:22:47Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-14T13:47:16Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e5b33b02f5a95ab4b18978f78032dd8f9c1cca36'/>
<id>urn:sha1:e5b33b02f5a95ab4b18978f78032dd8f9c1cca36</id>
<content type='text'>
Migrate the string option/struct fields in the api headers to std::string
and propagate the change through the native client attribute helpers,
list_operations, operation cache and the api-bound driver accessors. A cold
to_lower boundary keeps a TString cast.
commit_hash:2541bfe57f03e50212c1b8f9abb394d403a9dafb
</content>
</entry>
<entry>
<title>YT-28419: Drop redundant guard #undef from -inl.h files</title>
<updated>2026-06-14T11:11:09Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-14T10:52:09Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=79d1d1c539b166a3e32ad807ac76160aba756366'/>
<id>urn:sha1:79d1d1c539b166a3e32ad807ac76160aba756366</id>
<content type='text'>
The `.h` owns the #undef of its `&lt;NAME&gt;_INL_H_` guard; duplicating it in the
`-inl.h` is redundant. Align the minority that did so with the majority.
commit_hash:51be59f9d1b93ad152ed5cb07c76088edd6c3e36
</content>
</entry>
</feed>
