summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/memory
Commit message (Collapse)AuthorAgeFilesLines
* YT-24485: Support extra gang jobspogorelov2025-05-191-1/+1
| | | | | | | | | | | * Changelog entry Type: feature Component: controller-agent Support extra jobs for gang operations. Introduce gang ranks. commit_hash:1e27fe5d4e042d8ad3d981dfdab718ad41732924
* YT-24913: Split memory trackernadya022025-05-165-565/+12
| | | | commit_hash:af573daeadda0ee67ff6c0a595b6dc3ad6314c51
* Cosmeticsbabenko2025-05-101-2/+8
| | | | commit_hash:b527c60aed121bfae864558328f5bb32ee9afc72
* Typo in ref_counted.hAlexey Arkhipenko2025-04-251-1/+1
| | | | | | | | | No description --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1240 commit_hash:9afd1a8a5e8a67c4618712edca143bb56027764f
* QL joins refactoringsabdenovch2025-04-081-0/+1
| | | | commit_hash:bf6a38b831d4a1301e19a6524c711d7a1c17bf48
* YT-23989: Track memory in TChunkedOutputStreamnadya022025-03-172-4/+26
| | | | commit_hash:1fcce66b4e0a0a5e5fb55aba38889e9bf5b42a85
* YT-23989: Move memory tracker to library/cpp/ytnadya022025-03-144-0/+588
| | | | commit_hash:5dad6ada81567dcb5da6ef1efe47e1738196d219
* Better memory poisoning helpersbabenko2025-03-053-42/+61
| | | | commit_hash:dc1bba1db2b4a5bae15299e926e816920168018f
* Add poisoning helpersbabenko2025-03-046-1/+162
| | | | commit_hash:af266bdf36204a4190b491ea5c45455457030edf
* Fix UB in chunked memory poolnadya732025-02-061-9/+11
| | | | | | | | | * Changelog entry Type: fix Component: misc-server Fix UB in chunked memory pool commit_hash:d2d5a9707e30abe1814d1ac0c33fc0f2aba134e2
* YT-24135: Check for oom in TBlob::DoAllocateponasenko-rs2025-02-051-1/+11
| | | | commit_hash:51660c0e427c358c8285a5889c7dd585a97e5140
* Disambiguate call for windows platformngc2242025-02-041-1/+1
| | | | commit_hash:3f7d1518427ed170b9ac8f70724290b71801cae4
* Babenkoed: Shadow Warssabdenovch2025-01-163-8/+10
| | | | commit_hash:deadebefdfd81b6c737b9464435356b8f652e296
* Add direct includes in librarymikhnenko2025-01-132-0/+3
| | | | commit_hash:747602d8e470d51bcf6f38dfddafa12047d210df
* Cosmeticsdtorilov2025-01-111-3/+3
| | | | commit_hash:f51f172878d227b49cb480296f61a6575e5d6e67
* YT-23859: Various memory tracking improvementssabdenovch2024-12-253-2/+12
| | | | commit_hash:c87fb9e7c5cb8a896dd4b758ad73c5c540339df7
* Adapt type erasure to clang-16 compiler bugarkady-e1ppa2024-12-191-5/+16
| | | | commit_hash:690d178c5c95ad7106aee6c26a031e6eeec1f093
* Intermediate changesrobot-piglet2024-12-191-1/+1
| | | | commit_hash:57515baf5d33fd78c2555cb2b3351498b9189c72
* Use AnyObject to remove type erasure logic from yt/yt/corearkady-e1ppa2024-12-173-7/+19
| | | | commit_hash:79b0a0b437e41879c3a7d4c079ab571bbaafd45f
* Fix various issuespogorelov2024-12-064-2/+231
| | | | commit_hash:50f729d3716d8b1f5b852cfc008e228172fb79c4
* YT-23698: Check size of ref counted objectslukyan2024-12-041-0/+4
| | | | commit_hash:97159680fa733af4212c094e917bc78a47eb0c15
* Intermediate changesrobot-piglet2024-12-044-0/+1462
| | | | commit_hash:cbf5ab65e5ba1b2d286f974a6b6b463ed152b381
* Intermediate changesrobot-piglet2024-11-291-4/+0
| | | | commit_hash:60e005cdf76d5bff2a370a6b8f35ef4f6792f414
* Add TSharedRef::FromString overloads for std::stringbabenko2024-11-113-9/+52
| | | | commit_hash:2edff041e77ead18a6bb7efeb13c8163d85c0750
* Better diagnostics in AbortProcess(Silently|Dramatically)babenko2024-11-064-9/+29
| | | | commit_hash:7bbc13afbd569ca9bb064aed656c12644fd2de96
* add ::element_type, .get() to smart pointers for better compatibility with stdpavook2024-11-044-0/+22
| | | | | For example, this makes it possible to use gtest pointer matchers on smart pointers commit_hash:2650074ae18ee35696b297d3d1f0393e7350789f
* Fix disabling ref counted trackingnastprol2024-10-172-0/+8
| | | | commit_hash:8552424a0dfce80a71c406632beba95646bf5b3e
* Drop redundant MarkAsIntentionallyLeakedbabenko2024-10-081-3/+0
| | | | commit_hash:a7e152eae3d2996e60fa5940906933bfb64bdc88
* Assume LSan is always enabled in ASan buildsbabenko2024-10-083-4/+4
| | | | commit_hash:e48e4ec5e5215afc5c32dc6213398b6b28dbdd7b
* Remove Size, Empty and Data usages from librarymikhnenko2024-10-041-1/+1
| | | | commit_hash:ef5ad4cfa9e68bbfc586492e8c376c732d0a48af
* Add an option to disable refcounted trackingnastprol2024-09-252-0/+8
| | | | commit_hash:ceb575c0377d4a48c0507590d878e690e92f5c63
* Intermediate changesrobot-piglet2024-09-231-38/+53
| | | | commit_hash:9da3eb91ac1626625fafab7ae80b22f3f3b75821
* Fix TAtomicIntrusivePtr::Reset for lsanbabenko2024-09-231-1/+0
| | | | commit_hash:7db063d2838aac3ab4a0c681ca1744361cfbb31e
* Make TAtomicIntrusivePtr lsan-friendlybabenko2024-09-233-26/+134
| | | | commit_hash:c4a4db14dd6f9b82fb65377014112bf0a131d3e0
* Fix typo in library/cpp/yt/memoryponasenko-rs2024-09-232-3/+3
| | | | commit_hash:7b3f45fc7a89f88cb3f5609ab96fe1951290bfa4
* Increase RC size to 64 bitsbabenko2024-09-213-14/+13
| | | | commit_hash:31d021c482ac2a3f99e86bf1a2aca7231c86c11d
* More assertions in refcountersbabenko2024-09-213-8/+32
| | | | commit_hash:0c6147f498fdf817921889ac84a321f84f2d1059
* YT-22593: Switch (some) trace context tags to std::string and refactor code ↵babenko2024-09-094-0/+67
| | | | | | around [TRIVIAL] 643d86a500b7db9df11009f54364b468b29a409a
* Check malloc result for null; add TryNew* for overloads involving custom ↵babenko2024-08-302-31/+82
| | | | | | allocator 86ad7067e751c73259ce60432651ce3ecd0d057e
* YT-22603 Improve error message when all replicas are bannedgryzlov-ad2024-08-271-1/+1
| | | | 9da49d54d0eb5009874c090d094aac3117ca77b7
* YT-21233: Split error into error and stripped_error to rid the latter of ↵arkady-e1ppa2024-08-153-17/+68
| | | | | | | | | | | | | | deps on global variables What happened: 1. error contents has been split into stripped_error and error. stripped_error contains the error itself (with attributes for now) and macros; error contains stripped_error and some extensions, namely, functions to get fiberId, hostname and traceid/spanid and all functions used to (de-)serialize error. This means that you cannot print error if you only include stripped_error, therefore you are likely to still require the entire error.h at the moment. 2. Mechanic for gathering origin attributes has been moved to newly created library/cpp/yt/error thus having no dependency on fibers, net or tracing. stripped_error uses these attributes as extendable semi-erased (meaning, you still would have to add a field and recompile the entire thing, but you don't have to introduce an extra dependency) storage for a bunch of attributes 3. Parsing of said attributes is done in error file (and not stripped_error). P.S. So far the plan is to eventually move stripped_error (once dependency on core/ytree/attributes is eliminated) without any actual change to dependency graph of anything outside of core (e.g. you would still have to include misc/error.h to use it). Next step would be re-teaching the error how to print, which would move some more methods from core to the standalone module. After that one could finally depend on the error itself and not the entire core. Annotations: [nodiff:caesar] 66615172181355821241d2e5f8e4a0f15e0ea791
* Support std::string serializationbabenko2024-08-112-1/+9
| | | | d080266c9235a1852d0115157e87a090c7fe63e1
* Dont generate ctors for TRange & TMutableRange if protobuf cant handle itnechda2024-08-063-2/+90
| | | | 9aa0e068d05932c7ea3065408ed3dbb7fddb6321
* YT-22414: Remove MakeRange, MakeMutableRangemelkov2024-08-051-126/+0
| | | | 88507df33d73cfbdf2c61c602f3c3bb51dd48ded
* Refactor and unify exit codesbabenko2024-08-022-0/+7
| | | | ec1d0c473e709e8aad76b4e190a75ad4125a9ce2
* YT-22414: Prepare to use TRange constructor directly instead of MakeRangemelkov2024-08-013-4/+48
| | | | | | * Also the same for TMutableRange. * Add TRange, TMutableRange constructor from std::span. 46da1787e68a922bb65181c63a226a3797edae0b
* Fix TRange-from-std::vector ctorbabenko2024-07-221-1/+1
| | | | 2b4749cade5242ec10775c7819c790735f7484b7
* Fix checking stale local pointer in the first iteration of cycle in ↵ponasenko-rs2024-07-162-5/+8
| | | | | | TAtomicIntrusivePtr 68430c6347c40eee09bc63a3441af024780b86d4
* Cosmeticsdtorilov2024-06-262-4/+4
| | | | 6ac63b68e1f264939c9b4fc169e9381a70ceab8a
* YT-21868: Refactor NYT::Formatarkady-e1ppa2024-06-072-12/+16
| | | | | | | | | | | | | | | | | | | | NYT::Format had several problems: 1. There are too many ways to enable printing of T. Not all are equally good. You could specialize TValueFormatter, you could write an overload of FormatValue, you could write an overload of ToString, you could write an overload of operator << for special stream or you could specialize the Out function. 2. If you attempt to print T which cannot be printed, you get a linker error without a proper source location which is very frustrating to work with. 3. There is no static analysis of format string performed even when it is possible. 4. If you write FormatValue overload, you still have to write ToString overload if you want to use this function (and people tend to use it quite a bit, since it is defined for util types and enums. This pr addresses these issues to some extent. Relevant changes: 1. The only way to support NYT::Format is to define the FormatValue overload. Otherwise, you get a compile-time error. 2. Format overloads have changed: Now you have two options for general use: ``` TString Format(TStaticFormat<TArgs...> fmt, TArgs&&... args); TString Format(TRuntimeFormat fmt, TArgs&&... args); ``` Either overload checks if TArg has a FormatValue overload. TStaticFormat performs a compile-time check of flags and the argument count. It binds to any string literal and constexpr string/string_view (and TStringBuf). TRuntimeFormat has to be mentioned explicitly. Otherwise, you will get a compile-time error for using runtime variable as a format. 3(!!!). Types which name begins with NYT:: have a specialization of ToString function which uses FormatValue. Thus, if you write class in namespace NYT and define FormatValue, you get ToString automatically. If your type is not from namespace enclosing NYT, you can just call NYT::ToString for the same effect. This limitation was caused by the fact, that we cannot review all of the external projects code which might inherit from stl classes or adopt some other questionable code practises which may completely break the dispatching mechanism of ToString due to the specialization (there were such cases). Proper documentation of this library will be added soon, so that this interaction is made known. This limitation might be lifted later 77beb68082e10aaf48be1842aad8aba63f26c1bd