<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/util/thread, branch CLI_2.26.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.26.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.26.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2025-05-22T12:40:47Z</updated>
<entry>
<title>better fork-aware pool</title>
<updated>2025-05-22T12:40:47Z</updated>
<author>
<name>a11ax</name>
<email>a11ax@yandex-team.com</email>
</author>
<published>2025-05-22T12:00:59Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c28fa5a5d4eee687fa35713a3b8561b8f892992a'/>
<id>urn:sha1:c28fa5a5d4eee687fa35713a3b8561b8f892992a</id>
<content type='text'>
Было: при добавлении-удалении обьекта берем мьютекс, молимся чтобы тот не оказался залочен при форке, никак перед форком на лок не смотрим

Помимо того что это просто не очень надежно, оно не всегда работает. Может случиться так что с мьютексом все нормально, но IntrusiveList все равно [скорапчен](HIDDEN_URL и список закольцован не там где надо (по всей видимости cpu reorder на apple m1 ехидничает).

Стало: берем спинлок вместо мьютекса, в том числе берем его на время форка.
commit_hash:94145ab392390a2c0b9f885275302082524606b2
</content>
</entry>
<entry>
<title>Add an option to disable the fork aware mode for TThreadPool</title>
<updated>2025-03-28T08:26:21Z</updated>
<author>
<name>andybg</name>
<email>andybg@yandex-team.com</email>
</author>
<published>2025-03-28T08:11:49Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=93724f9cd4e5c28a1e154375e40cb9722bcdb698'/>
<id>urn:sha1:93724f9cd4e5c28a1e154375e40cb9722bcdb698</id>
<content type='text'>
Продолжение починки крэшей при форке

Ситуация такая же - используем subprocess для обработки данных ( subprocess не наши, написаны множеством команд на нескольких языках под конкретные ситуации), быстро избавиться от форка не получится. Есть шанс избавиться от этого пул треда, но тоже не быстро.

Предлагается простое решение - не вызывать `TAtforkQueueRestarter::Get()`совсем, тогда не будет создание singletonа и вызова `pthread_atfork`. Все это под опцией `SetForkAware` - кто хочет может ее включать, для всех остальных ничего не изменится.

Полная обратная совместимость, фикс ничего не мог зацепить. Проверил локально, вызова `pthread_atfork` нет в `unified agent` больше.

Тесты на это очень сложно написать, без больших изменений в тред пуле, пробовал с перехватом `pthread_atfork`, к сожалении, не только `TAtforkQueueRestarter` им пользуется и нормально перехватить тоже не получилось.
commit_hash:3711c6175ca64564f31f811ee1308d70ef6eb5e3
</content>
</entry>
<entry>
<title>Part of PR. Style</title>
<updated>2024-11-20T10:14:09Z</updated>
<author>
<name>nae202</name>
<email>nae202@yandex-team.com</email>
</author>
<published>2024-11-20T09:52:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=0b9d91e900b52bccd6eabd033acbb57c4ee173fc'/>
<id>urn:sha1:0b9d91e900b52bccd6eabd033acbb57c4ee173fc</id>
<content type='text'>
Часть большого ПР REVIEW:7264088
commit_hash:0f5b03fbbed0ac30f734943309e3ef5cd4d7a30e
</content>
</entry>
<entry>
<title>FixNamespaceComments in /util</title>
<updated>2024-09-05T17:17:10Z</updated>
<author>
<name>dmasloff</name>
<email>dmasloff@yandex-team.com</email>
</author>
<published>2024-09-05T17:05:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=74184a40c15dc0649a769d9754d0ce7efb44db04'/>
<id>urn:sha1:74184a40c15dc0649a769d9754d0ce7efb44db04</id>
<content type='text'>
FixNamespaceComments in /util
bb9152570d7c258798644ead5a59f604de05ef3b
</content>
</entry>
<entry>
<title>Set SpacesInLineCommentPrefix to 1 in /util</title>
<updated>2024-08-17T20:43:45Z</updated>
<author>
<name>dmasloff</name>
<email>dmasloff@yandex-team.com</email>
</author>
<published>2024-08-17T20:33:42Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=69340f4614e853b9319df4b454ab7497711ee3cd'/>
<id>urn:sha1:69340f4614e853b9319df4b454ab7497711ee3cd</id>
<content type='text'>
Set SpacesInLineCommentPrefix to 1 in /util
3853f9ec5143722c1bebd8dc0ffc9b61a6c17657
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2024-04-02T20:02:21Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2024-04-02T19:52:25Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=ba80a9fbc798f333ba35e1f5fe9882d3d91337b2'/>
<id>urn:sha1:ba80a9fbc798f333ba35e1f5fe9882d3d91337b2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Library import 6 (#888)</title>
<updated>2024-01-09T17:56:40Z</updated>
<author>
<name>AlexSm</name>
<email>alex@ydb.tech</email>
</author>
<published>2024-01-09T17:56:40Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e95f266d2a3e48e62015220588a4fd73d5d5a5cb'/>
<id>urn:sha1:e95f266d2a3e48e62015220588a4fd73d5d5a5cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Library import 2 (#639)</title>
<updated>2023-12-22T16:10:22Z</updated>
<author>
<name>AlexSm</name>
<email>alex@ydb.tech</email>
</author>
<published>2023-12-22T16:10:22Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=148f920350c60c0ca2d89b637a5aea9093eee450'/>
<id>urn:sha1:148f920350c60c0ca2d89b637a5aea9093eee450</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Y_VERIFY-&gt;Y_ABORT_UNLESS at ^u</title>
<updated>2023-10-10T07:26:34Z</updated>
<author>
<name>ilnurkh</name>
<email>ilnurkh@yandex-team.com</email>
</author>
<published>2023-10-10T07:09:12Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=335c640261b6272bc052a251d9b8780150090b45'/>
<id>urn:sha1:335c640261b6272bc052a251d9b8780150090b45</id>
<content type='text'>
https://clubs.at.yandex-team.ru/arcadia/29404
</content>
</entry>
<entry>
<title>add ymake export to ydb</title>
<updated>2023-06-13T08:05:01Z</updated>
<author>
<name>alexv-smirnov</name>
<email>alex@ydb.tech</email>
</author>
<published>2023-06-13T08:05:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0'/>
<id>urn:sha1:bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0</id>
<content type='text'>
</content>
</entry>
</feed>
