<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/contrib/libs/tcmalloc, 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-09-22T22:06:25Z</updated>
<entry>
<title>Fix broken TCMalloc options.</title>
<updated>2025-09-22T22:06:25Z</updated>
<author>
<name>akhropov</name>
<email>akhropov@yandex-team.com</email>
</author>
<published>2025-09-22T21:26:07Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=863e0ecfae70fe7bd74268de2ed93bdd3a0bed07'/>
<id>urn:sha1:863e0ecfae70fe7bd74268de2ed93bdd3a0bed07</id>
<content type='text'>
Update build flags that were not updated together with the update of TCMalloc.

* TCMALLOC_256K_PAGES -&gt; TCMALLOC_INTERNAL_256K_PAGES
* TCMALLOC_NUMA_AWARE -&gt; TCMALLOC_INTERNAL_NUMA_AWARE
* TCMALLOC_LARGE_PAGES -&gt; TCMALLOC_INTERNAL_32K_PAGES
* TCMALLOC_SMALL_BUT_SLOW -&gt; TCMALLOC_INTERNAL_SMALL_BUT_SLOW
commit_hash:d4f51f0940dff02ac15d1a65b8c112260facd566
</content>
</entry>
<entry>
<title>YT-25994 Fix data race in user data support</title>
<updated>2025-08-28T17:58:15Z</updated>
<author>
<name>mikailbag</name>
<email>mikailbag@yandex-team.com</email>
</author>
<published>2025-08-28T17:21:42Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e453cbf2e074f1323d976fb2f0cf0a55c39022ca'/>
<id>urn:sha1:e453cbf2e074f1323d976fb2f0cf0a55c39022ca</id>
<content type='text'>
This patch fixes data race on user data in SampleRecorder::PushDead by adding necessary locking.

As a drive-by change, SetSampleUserDataCallbacks documentation now describes guarantees and requirements for the callbacks, including several not obvious ones.
commit_hash:7ffea42883c9344829edd50c795243f56f1e7f3c
</content>
</entry>
<entry>
<title>YT-24366 Fix lock acquisition order</title>
<updated>2025-08-13T13:05:48Z</updated>
<author>
<name>mikailbag</name>
<email>mikailbag@yandex-team.com</email>
</author>
<published>2025-08-13T12:16:25Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=0a494f5c53ebd18bc9b89cd9b4375abf38f80482'/>
<id>urn:sha1:0a494f5c53ebd18bc9b89cd9b4375abf38f80482</id>
<content type='text'>
There are several implied requirements "lock X must be acquired before lock Y". It turned out that one of these requirements (namely, first) was not respected, leading to deadlocks.
commit_hash:1bf33d46c54bfb41390a1937b4ef44939b88c672
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-08-11T16:11:48Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-08-11T15:49:39Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=ff86b9be2dd6abd6c11088cb34fbfb735d46feaf'/>
<id>urn:sha1:ff86b9be2dd6abd6c11088cb34fbfb735d46feaf</id>
<content type='text'>
commit_hash:3721d11af212a52f43d2c133b98aabd2ac47a983
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-08-07T16:36:57Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-08-07T16:24:44Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=319c53daa4d3137edd9f6938531c983331ae730e'/>
<id>urn:sha1:319c53daa4d3137edd9f6938531c983331ae730e</id>
<content type='text'>
commit_hash:da32df476c05ee8928d99ec0d784ed2e3b929624
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-08-07T14:09:15Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-08-07T13:52:35Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=a246d60d3b3ac79dc02ab9535b4c9aa188ce7e77'/>
<id>urn:sha1:a246d60d3b3ac79dc02ab9535b4c9aa188ce7e77</id>
<content type='text'>
commit_hash:f0dc5f57e17d0f15ccbb92d7ced5a11008765dc5
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-06-26T09:23:13Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-06-26T08:41:25Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=9862e1947bb5258751618ee2f2a992ba5d6ae2a3'/>
<id>urn:sha1:9862e1947bb5258751618ee2f2a992ba5d6ae2a3</id>
<content type='text'>
commit_hash:53a87bd83ce2def857ef518c4e6c591f98d9ac3d
</content>
</entry>
<entry>
<title>Redeprecate undeprecated APIs</title>
<updated>2025-06-26T09:03:06Z</updated>
<author>
<name>mikailbag</name>
<email>mikailbag@yandex-team.com</email>
</author>
<published>2025-06-26T08:05:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4c70517404cd2542509131c67dd764a3673bb228'/>
<id>urn:sha1:4c70517404cd2542509131c67dd764a3673bb228</id>
<content type='text'>
commit_hash:0b5b73389c4399c46783591ed54dadb5f6c72f62
</content>
</entry>
<entry>
<title>Respect user data when hashing samples</title>
<updated>2025-06-10T18:05:41Z</updated>
<author>
<name>mikailbag</name>
<email>mikailbag@yandex-team.com</email>
</author>
<published>2025-06-10T17:35:32Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=2851ed080b67be3b38a07bca1da9da9924bdc61b'/>
<id>urn:sha1:2851ed080b67be3b38a07bca1da9da9924bdc61b</id>
<content type='text'>
Currently allocation sampling code does not account for user-data in samples, so two samples differing only in user data are treated the same. It can negatively affect quality of resulting profiles. This patch effectively rebases [YTSaurus patch](https://github.com/ytsaurus/ytsaurus/commit/7fbc80bd10915c8703b9651eca3bacc96e034a12) on current TCMalloc version, fixing the issue.
commit_hash:82c18820f5c890b8b851df8e3c6ee779144690a0
</content>
</entry>
<entry>
<title>Fix user data lifetime bug</title>
<updated>2025-06-03T19:02:22Z</updated>
<author>
<name>mikailbag</name>
<email>mikailbag@yandex-team.com</email>
</author>
<published>2025-06-03T17:57:45Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=3de0a42adb64f435508e027547a2a90bf53ff74d'/>
<id>urn:sha1:3de0a42adb64f435508e027547a2a90bf53ff74d</id>
<content type='text'>
Profile previously have not extended lifetime for user data referenced by contained allocations. Such data could be destroyed too early, potentially during deallocation, rendering user_data pointer invalid (and thus making the whole feature effectively unusable).

As a fix, profiles now act as strong pointers for all sampled allocations.
commit_hash:8f77b397661ca7eab30793aece6f2e655722e99c
</content>
</entry>
</feed>
