<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yt/cpp/mapreduce/io, branch CLI_2.18.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.18.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.18.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2024-11-23T08:24:00Z</updated>
<entry>
<title>fix buffered stream interleaving for proto format</title>
<updated>2024-11-23T08:24:00Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2024-11-23T08:11:27Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c46068e0065014b783098fc52829398858dd707e'/>
<id>urn:sha1:c46068e0065014b783098fc52829398858dd707e</id>
<content type='text'>
commit_hash:66e6b75f97ea253ddbf4c97a180f9f971c59f93b
</content>
</entry>
<entry>
<title>GLOBAL OTBIVKA FIX ୧༼ಠ益ಠ༽୨</title>
<updated>2024-08-22T13:39:20Z</updated>
<author>
<name>pavook</name>
<email>pavook@yandex-team.com</email>
</author>
<published>2024-08-22T13:26:27Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=8520e043f2e12acdfd39d971ebeeacbe9e5ac3ca'/>
<id>urn:sha1:8520e043f2e12acdfd39d971ebeeacbe9e5ac3ca</id>
<content type='text'>
Make all "otbivka" exactly 80 symbols.

Command:
```bash
sed -i 's#^//////////////\+$#////////////////////////////////////////////////////////////////////////////////#g' $(find yt \( -name '*.cpp' -or -name '*.h' -or -name '*.proto' \) -not -path 'yt/yt/experiments/private/tabletvis/imgui/*')
```
30a0ba9f42ba1909d3cee11fe12bba14c7c8b039
</content>
</entry>
<entry>
<title>[yt/cpp/mapreduce]Fix build with system protoc, std::string and system stl</title>
<updated>2024-07-30T11:12:09Z</updated>
<author>
<name>nadya73</name>
<email>nadya73@yandex-team.com</email>
</author>
<published>2024-07-30T10:16:23Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=cb13057a00bee6a4c0dd414b44686d3ee5680cba'/>
<id>urn:sha1:cb13057a00bee6a4c0dd414b44686d3ee5680cba</id>
<content type='text'>
Fix build with system protoc, std::string and system stl
8b5b81b2d7855f6b0dcb4bb0583a6408e5b7d3f7
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2024-07-09T15:11:34Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2024-07-09T14:50:48Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=1a588ac4a33af75cc93036c1c23220dd334eb70f'/>
<id>urn:sha1:1a588ac4a33af75cc93036c1c23220dd334eb70f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[yt/cpp/mapreduce] YT-21595: Use gtest instead of ytest in all mapreduce tests</title>
<updated>2024-07-02T20:21:03Z</updated>
<author>
<name>nadya73</name>
<email>nadya73@yandex-team.com</email>
</author>
<published>2024-07-02T20:10:50Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5ea9afc5ee7edc24efa5f45b3a15e184872b0854'/>
<id>urn:sha1:5ea9afc5ee7edc24efa5f45b3a15e184872b0854</id>
<content type='text'>
85671f0cf4f45b4f015fa2cc0d195b81c16c6e8a
</content>
</entry>
<entry>
<title>YT-21308: Add redirect_stdout_to_stderr flag for C++ client</title>
<updated>2024-05-24T17:58:06Z</updated>
<author>
<name>apachee</name>
<email>apachee@yandex-team.com</email>
</author>
<published>2024-05-24T17:47:38Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=3e42aa91c70358fdd3ec39d0ac23072fc230b209'/>
<id>urn:sha1:3e42aa91c70358fdd3ec39d0ac23072fc230b209</id>
<content type='text'>
Adds redirect_stdout_to_stderr spec option for operations that allows writing to stdout as if it was stderr.
6a8ac5f21955a79848d86f72715628c7b8bb65c4
</content>
</entry>
<entry>
<title>[yt/cpp/mapreduce] YT-21405: Don't ignore backoff and pass actual exception in Retry()</title>
<updated>2024-04-18T09:11:25Z</updated>
<author>
<name>nadya73</name>
<email>nadya73@yandex-team.com</email>
</author>
<published>2024-04-18T09:01:09Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=044c22732c7e0fa5cbdd08543c7cd68a501170a6'/>
<id>urn:sha1:044c22732c7e0fa5cbdd08543c7cd68a501170a6</id>
<content type='text'>
Don't ignore backoff and pass actual exception in Retry()
b821c02fd21c9f8115cd2a4896372a9fda69e5f6
</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>Intermediate changes</title>
<updated>2024-02-07T09:03:53Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2024-02-07T08:47:25Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=45c9080cd82392b6e4bc97b80daa04eb87fb5b29'/>
<id>urn:sha1:45c9080cd82392b6e4bc97b80daa04eb87fb5b29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat contrib: aiogram 3</title>
<updated>2024-01-19T10:10:03Z</updated>
<author>
<name>armenqa</name>
<email>armenqa@yandex-team.com</email>
</author>
<published>2024-01-19T09:23:50Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=2de0149d0151c514b22bca0760b95b26c9b0b578'/>
<id>urn:sha1:2de0149d0151c514b22bca0760b95b26c9b0b578</id>
<content type='text'>
Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
</content>
</entry>
</feed>
