| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
commit_hash:ad986b1f46f36765b3d80b8e527b1f25ad966d42
|
| |
|
|
|
|
|
|
|
|
|
| |
* Changelog entry
Type: feature
Component: controller-agent
Support extra jobs for gang operations. Introduce gang ranks.
commit_hash:1e27fe5d4e042d8ad3d981dfdab718ad41732924
|
| |
|
|
| |
commit_hash:e1d1710ec1d2fa7407a292934f82f2e5804d1c2c
|
| |
|
|
| |
commit_hash:af573daeadda0ee67ff6c0a595b6dc3ad6314c51
|
| |
|
|
|
|
|
|
|
|
|
| |
```
(dflt) thegeorg@jakku:~/arcadia@trunk$ ya tool c++ -E -dM - -msse4.2 < /dev/null | grep SSE4
#define __SSE4_1__ 1
#define __SSE4_2__ 1
```
On Windows, this macros is defined by the means of ymake.core.conf.
commit_hash:ec670bbe09b73580df6c7acf4760fedce7597676
|
| |
|
|
|
| |
[diff:runtime]
commit_hash:262b2e671526b138d7a9631daf5d34400fc2208c
|
| |
|
|
| |
commit_hash:b527c60aed121bfae864558328f5bb32ee9afc72
|
| |
|
|
|
| |
From backtrace enricher можно использовать для захвата бектрейсов при создании ошибок из исключений, а так же для перекладывания атрибутов из сложных исключений других библиотек.
commit_hash:76711bd3bb7dbc1e41e43f80d43340d2ce8e4df7
|
| |
|
|
| |
commit_hash:5065ec89aed827ce2d112d5f8623dfb0215a5207
|
| |
|
|
|
|
|
|
|
| |
No description
---
Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1240
commit_hash:9afd1a8a5e8a67c4618712edca143bb56027764f
|
| |
|
|
| |
commit_hash:f4f2e8b9ba31109593c94251f64e1061f00af304
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TWriterStarvingRWLock
Previously, it was possible that `TReaderWriterSpinLock` wouldn't let the writer through if there's a steady flow of readers.
This change addresses that by:
1. Prioritizing writers inside the spinlock by adding an additional `WriterReady` flag that writers set on arrival. This flag doesn't allow any readers to come through.
2. Adding the proper tests to verify this functionality, as well as spinlock's behaviour under forks.
3. Clarifying the documentation about spinlock guarantees
4. Adding a TLA+ model, formally specifying and verifying the guarantees of the new spinlock.
5. Renaming the old lock to `TWriterStarvingRWSpinLock`, and replacing all usages inside YT with the new version (renaming all usages outside of YT to the WriterStarving version).
This is a second attempt of REVIEW: 8233768, the first one was rolled back as it lead to deadlocks in user code with reentrant reader locks:
the case of `AcquireReader(thread0) -> AcquireWriter(thread1) -> AcquireReader(thread0)` is a deadlock, as `thread0` will not be able to acquire the lock (for the second time) before `thread1` frees writer lock, and `thread1` will not be able to acquire writer lock before the reader lock will be released by `thread0`, which won't happen until `thread0` acquires the lock for the second time. See/for more context and a real example of such situation. Analogous problem can happen with fibers: this is why you shouldn't allow context switches under the lock.
Wondering why this ugly name `WriterStarvingRWSpinLock` appeared in your beautiful code? No worries, if you are **sure** that you don't use reentrant locks or fiber switches under the lock, you can freely replace your usage with the new `ReaderWriterSpinLock`. The replacement is drop-in.
[nodiff:caesar]
commit_hash:97683f854defca00cc283f5a2a10a1730b3c9174
|
| |
|
|
| |
commit_hash:0e4b24c65451e75f168b456cd0d271ddebb7219d
|
| |
|
|
|
| |
It turns out, RWSpinLock previously accidentally supported recursive AcquireReaders, and this property was broken with the change.
commit_hash:f996e7b52ef8b3d37118034530a094af0efbe435
|
| |
|
|
| |
commit_hash:e5aee6f170c4d38261597cd10e9b42c2dc58c1f3
|
| |
|
|
| |
commit_hash:94fee5363799655628bd7e2c144a7869a9d89002
|
| |
|
|
| |
commit_hash:77f144acd2d648f4e32055553be332f1d25d6106
|
| |
|
|
| |
commit_hash:dc29e989d9edbb7f171ba47632de428289393058
|
| |
|
|
| |
commit_hash:bf6a38b831d4a1301e19a6524c711d7a1c17bf48
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Без этого, исключение о выходе за пределы массива в векторе выглядит так:
```
vector
origin (pid 178121, thread library-cpp-yt-)
datetime 2025-03-31T14:59:49.069209Z
```
С фиксом:
```
vector
origin (pid 178121, thread library-cpp-yt-)
datetime 2025-03-31T14:59:49.069209Z
exception_type std::out_of_range
```
commit_hash:7382eba16208f6847d581b901a7df4dfa39452b0
|
| |
|
|
| |
commit_hash:c29f08fc16d8bd974d4ce516af499de848607ab8
|
| |
|
|
| |
commit_hash:1fcce66b4e0a0a5e5fb55aba38889e9bf5b42a85
|
| |
|
|
| |
commit_hash:5dad6ada81567dcb5da6ef1efe47e1738196d219
|
| |
|
|
| |
commit_hash:abf11126ef1a914939d506a79dd7c4f11df177f2
|
| |
|
|
|
|
|
|
|
| |
- Changelog entry
Type: feature
Component: master
Introduce TCompactTableSchema, that holds wire protobuf schema representation and lighter than TTableSchema
commit_hash:21801854b37fc25c5004ee01e5b79a3b3b6ea983
|
| |
|
|
| |
commit_hash:dc1bba1db2b4a5bae15299e926e816920168018f
|
| |
|
|
| |
commit_hash:af266bdf36204a4190b491ea5c45455457030edf
|
| |
|
|
|
|
|
| |
Идея такая: хочу подкладывать атрибуты в ошибки, не протаскивая их через стек (как в orm/server/objects) и не прогоняя все ошибки через специальные методы (как в orm/library/attributes). Для этого завожу fiber-local структурку с ленивым выведением строчек. Поскольку TError и TFls живут в разных мирах, пришлось сделать отдельный трамплин для совсем генеричной доработки ошибок в момент создания.
Игнат посоветовал глянуть на Codicil. Там очень похоже, но нет key/value, поэтому похитил только название. Вообще, можно унифицировать, если есть запрос.
commit_hash:203ec7abe5e8c8484e66d55f16192485db776806
|
| |
|
|
|
| |
[nodiff:runtime]
commit_hash:1ba799aed1703ab7c6304b6da7090b3337f768dd
|
| |
|
|
|
|
|
|
|
|
|
| |
Here we can avoid dynamic cast and exception hazard.
Signed-off-by: Konstantin Khlebnikov <[email protected]>
---
Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1070
commit_hash:e0709e1fe0f2109792b20b850e0e11a6e96f846a
|
| |
|
|
| |
commit_hash:55e574599005f5286f646ebba93d5550325708bc
|
| |
|
|
|
|
|
|
|
| |
* Changelog entry
Type: fix
Component: misc-server
Fix UB in chunked memory pool
commit_hash:d2d5a9707e30abe1814d1ac0c33fc0f2aba134e2
|
| |
|
|
|
|
|
|
|
| |
Приедет в ytsaurus: <HIDDEN_URL>
Приедет в `/contrib/ydb/` <HIDDEN_URL>
Проверка, что в github ydb ничего не сломается: <https://github.com/ydb-platform/ydb/pull/13286>
commit_hash:73ab1b4a3245322afc9fc6e9d71424ad07106477
|
| |
|
|
| |
commit_hash:51660c0e427c358c8285a5889c7dd585a97e5140
|
| |
|
|
| |
commit_hash:3f7d1518427ed170b9ac8f70724290b71801cae4
|
| |
|
|
| |
commit_hash:e5c092a9d0375881554f1d3bc905c662070956bf
|
| |
|
|
| |
commit_hash:a4ecfb1e06e82ba192646d3ab5417cb3f0c6991f
|
| |
|
|
|
|
|
|
|
| |
1. Prevent concurrent crashes to interleave in stderr
2. Cleaner and more compact formatting of registers dump
3. Omit `OLDMASK` (nobody seems to know what is it for)
4. Don't print the top backtrace frame twice
5. Code cosmetics
commit_hash:f7a4c960b3400d6dfb0f8f60317aa524611d2fd0
|
| |
|
|
|
| |
[nodiff:caesar]
commit_hash:62fa96ca05b1a4018e2e51e6b589483cd3a44fc4
|
| |
|
|
| |
commit_hash:deadebefdfd81b6c737b9464435356b8f652e296
|
| |
|
|
| |
commit_hash:afeeeea3c2cbdec0ddeed0fea5f88df9d8575f8b
|
| |
|
|
| |
commit_hash:5dda6f5ef324f03c99af3dae32ebf4a059f02bd3
|
| |
|
|
| |
commit_hash:747602d8e470d51bcf6f38dfddafa12047d210df
|
| |
|
|
| |
commit_hash:fc31d2770ebeffeb513c4535bd146c731b7f78fb
|
| |
|
|
| |
commit_hash:f51f172878d227b49cb480296f61a6575e5d6e67
|
| |
|
|
| |
commit_hash:19b37bd3d7e3b4d80e4844676c881bbef1fec76b
|
| |
|
|
|
|
|
| |
std::string everywhere
done
commit_hash:8a83afa39917ba66a5161388a7cd74a4488d9908
|
| |
|
|
| |
commit_hash:c87fb9e7c5cb8a896dd4b758ad73c5c540339df7
|
| |
|
|
| |
commit_hash:19481c9fbb008aab4f4d676f1a3a242f6e90e90e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
becoming CPO, move TErrorCode and TError to library/cpp/yt/error
\[nodiff:caesar\]
List of changes:
1) Make `ConvertTo` a normal function again (basically, a revert of previous change). It turned out to be very inconvenient entry point
2) Introduce concept for "Primitive types" which are handled without yt/core module. Please note that inclusion of core **does not** affect work with primitive types (otherwise we would be facing and ODR violation). These are numerics, duration, instant, string-like objects and guid
3) Introduce `FromErrorAttributeValue` which is a substitute to `ConvertTo` with special behavior (see below)
4) Scheme for (de-)serialization has changed:
1) Primitive types are handled via `ConvertToTextYsonString` and `ConvertFromTextYsonString`
2) Other types are not supported without yt/core. Otherwise `ConvertToYsonString(value, EYsonFormat::Text)` used for serialization and `ConvertTo<T>(value)` for deserialization.
5) New format of attribute value storage allows to not care about concrete type of the attribute (text yson strings can be detected since they start with `\"` and deserialized so are text yson bools, everything else is already human readable). This drops dependency on `TTokenizer`
6) Some small parts (e.g. enums or constants or aliases) of yt/core/misc files were moved to library/cpp/yt/\* locations and re-included to drop dependencies of stripped\_error on them
7) `TErrorAttributes` is now a simple hash map instead of a handle to `IAttributeDictionary`
8) `ExtractFromAttributes` weak symbol is finally moved to library/cpp/yt/error due to point 9 allowing to fully drop dependency on `IAttributeDictionary`. Combined with point 7 this drops dep on yt/core/ytree altogether
9) Moved `TErrorCode` to library/cpp/yt/error. There is a logger there which forces dep on library/cpp/yt/logging. It is not required really, and can be later removed
10) Moved `TError` with format and macroes to library/cpp/yt/error. It still (and probably forever will) depend on yson.
What can be done next: Switch TYsonString to TString and move ConvertTo/FromTextYsonString to library/cpp/yt/error. This would remove dep on library/cpp/yt/yson\_string
commit_hash:6f11dc478ab782a1f98a5aedcd45a4800d3f4e7b
|