<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yt/cpp/mapreduce/interface, branch CLI_2.9.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.9.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.9.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2024-04-18T08:57:19Z</updated>
<entry>
<title>Don't ignore backoff and pass actual exception in Retry() (#3664)</title>
<updated>2024-04-18T08:57:19Z</updated>
<author>
<name>Savchenko Nadezhda</name>
<email>nadya73@ytsaurus.tech</email>
</author>
<published>2024-04-18T08:57:19Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b65fd71bd2a02aca196f47954fa03ac9aa94b8a0'/>
<id>urn:sha1:b65fd71bd2a02aca196f47954fa03ac9aa94b8a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix more problems with RetryfulWriterV2</title>
<updated>2024-04-17T06:45:11Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2024-04-17T06:35:35Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=78f427d10a1aa4f27b0b4eff5a510a214a5a93a2'/>
<id>urn:sha1:78f427d10a1aa4f27b0b4eff5a510a214a5a93a2</id>
<content type='text'>
404e999bcffb20d5497161a98f48f566b5245704
</content>
</entry>
<entry>
<title>YT-18503: Mirror Cypress Tx to Sequoia Ground</title>
<updated>2024-04-07T13:39:40Z</updated>
<author>
<name>kvk1920</name>
<email>kvk1920@yandex-team.com</email>
</author>
<published>2024-04-07T13:29:24Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=72eeab5172756159750eef875745e2a6f5b0004f'/>
<id>urn:sha1:72eeab5172756159750eef875745e2a6f5b0004f</id>
<content type='text'>
e6d585180289325f8082f42f85a60478194ba266
</content>
</entry>
<entry>
<title>Use async tx pinger by default once again</title>
<updated>2024-04-01T10:35:23Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2024-04-01T10:24:49Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=038ec6662d49ba5f106237929622506be53f85b0'/>
<id>urn:sha1:038ec6662d49ba5f106237929622506be53f85b0</id>
<content type='text'>
5c990fdee5899ef1cfcc5429f3631998277cd218
</content>
</entry>
<entry>
<title>Fix comment</title>
<updated>2024-03-24T16:21:36Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2024-03-24T16:13:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=66aee9153e6fd042c5515c008aebd718935ee2cc'/>
<id>urn:sha1:66aee9153e6fd042c5515c008aebd718935ee2cc</id>
<content type='text'>
d547e94dc63865b96a5cdfbe9866d87b11a57193
</content>
</entry>
<entry>
<title>YT-18458: Introduce wide types into mapreduce interface</title>
<updated>2024-03-21T09:49:42Z</updated>
<author>
<name>whatsername</name>
<email>whatsername@yandex-team.com</email>
</author>
<published>2024-03-21T09:38:52Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f2d8ab4111c1f5dba066eb9df8a2ecd86cd8c192'/>
<id>urn:sha1:f2d8ab4111c1f5dba066eb9df8a2ecd86cd8c192</id>
<content type='text'>
7ae047ef618cc44d7dd3e817dc27f2336d9e38c3
</content>
</entry>
<entry>
<title>Support building yt/cpp and yt/yt/core with vanilla protobuf</title>
<updated>2024-03-19T11:16:23Z</updated>
<author>
<name>Grigory Reznikov</name>
<email>gritukan@nebius.com</email>
</author>
<published>2024-03-19T10:38:52Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=51c750cf25c79121b833e2a7882b10e8cd371bef'/>
<id>urn:sha1:51c750cf25c79121b833e2a7882b10e8cd371bef</id>
<content type='text'>
After this PR yt/cpp and yt/yt/core are possible to be built both with Arcadia protobuf (that uses TString as a string) and vanilla protobuf (that uses std::string as a string). To achieve so, a couple of interoperability primitives are introduced.

* `TProtobufString` is an alias to protobuf string type, i.e. it can be `TString` or `std::string` depending on the protobuf implementation.
* `IsVanillaProtobuf` and `IsArcadiaProtobuf` are the constexpr boolean values that allow to check protobuf implementation both in the compile time and runtime.

The most challenging interoperability issue solved here is a string copy between protobuf message and C++ code that has a form of `TString str = msg.str()`. This code works perfect with Arcadia protobuf but does not work with vanilla protobuf. To solve it, a previously introduced primitive `FromProto&lt;TString&gt;` is used. This expression makes the most efficient cast possible between protobuf string and C++ string. Internally, it is just a copy in both cases. Since TString is CoW by default, this expression is almost zero-cost (actually it's just one atomic operation), so no degradation is expected for YTsaurus server builds. The most hot code is handled differently to avoid even atomic operations (see `GetRequestTargetYPath`). In case of vanilla protobuf string is copied, however there are no places in C++ SDK where it might be a problem. If such issues would appear, performance-critial code can be rewritten in `GetRequestTargetYPath`-style.

---
1a6f3e02cb6e83915102c24b73bc8734f6a48e74

Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/466
</content>
</entry>
<entry>
<title>YT-21141 Avoid content deduplication for files under 10MB</title>
<updated>2024-03-18T12:02:17Z</updated>
<author>
<name>orlovorlov</name>
<email>orlovorlov@yandex-team.com</email>
</author>
<published>2024-03-18T10:15:49Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=29127cb44e4ff8ecde3924e1af7bb4213fda2a9f'/>
<id>urn:sha1:29127cb44e4ff8ecde3924e1af7bb4213fda2a9f</id>
<content type='text'>
febae4e49cd0f600bf21616025f210e99235cfdc
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2024-03-13T18:06:58Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2024-03-13T17:59:11Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=8bf035fd892c2224e7b2fdf2671e0e87d14fc072'/>
<id>urn:sha1:8bf035fd892c2224e7b2fdf2671e0e87d14fc072</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2024-03-10T16:31:09Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2024-03-10T16:22:41Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=13a34e8a2fe1c3498a9a3e1d56202bb29eb5d17b'/>
<id>urn:sha1:13a34e8a2fe1c3498a9a3e1d56202bb29eb5d17b</id>
<content type='text'>
</content>
</entry>
</feed>
