summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix `SplitWithTxInFlightWithReboots` (#45644)Ilnaz Nizametdinov2026-07-082-10/+13
| |
* | Move operation_prepare_index_validation back to index/ (#45905)Vitaliy Filippov2026-07-083-1/+1
| |
* | [Console, ConfigsDispatcher, YDB CLI] Implement database yaml config ↵Aleksandr Usenko2026-07-0823-154/+3249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | selectors (#44420) Per-database YAML configs currently have no selector/label resolution of their own. A database config's `config:` section is appended to the main config as an always-matching selector (`selector: {}`), so it applies uniformly to all nodes. This commit adds per-database `selector_config` and `allowed_labels` support. A database admin can define selectors (e.g., by `node_type`) so different nodes receive different config variants from the same per-database config. The database config is resolved in isolation first, then injected into the main config. Validation (permissions, forbidden labels) is enforced at the Console tablet level only. ConfigsDispatcher applies whatever it receives without re-checking permissions. Per-database YAML config selectors are **kept disabled by default** (old behaviour) and can be turned on for separate databases (tenants) by setting database attribute `"allow_database_config_selectors" = "true"`. Attribute can be set via newly implemented **YDB CLI** command: ``` ydb -d '/cluster/database/path' admin database attribute set allow_database_config_selectors=true ``` This attribute only affects the ability to set or change the configuration, but not the use of an already defined one: current per-database config with selectors **keeps being operational even after selectors became disabled via database attribute**, while can be replaced only with config without selectors.
* | Remove dqrun-based solomon SQL test (#45921)Sergey Uzhakov2026-07-0836-1086/+0
| |
* | fix TxProgress enqueue (#43594)Kirill Vasilenko2026-07-0818-212/+307
| | | | | | Co-authored-by: Kirill Vasilenko <[email protected]>
* | Fix stream write RETURNING flush (#45811)Nikita Vasilev2026-07-086-17/+115
| |
* | Add canonical Topic/Kafka transaction wire with legacy dual-write. (#45858)Alek5andr-Kotov2026-07-0816-91/+1115
| | | | | | | | Co-authored-by: Alexander Kotov <[email protected]> Co-authored-by: Cursor <[email protected]>
* | Merge pull request #45933 from ydb-platform/update-muted-ya_main_release-asanYDBot2026-07-081-0/+2
|\ \
| * | Update muted_ya for release-asan mainYDBot2026-07-081-0/+2
| | |
* | | Add cpu_topology library windows/non-l3 support (#45904)Nursan2026-07-083-4/+112
|/ /
* | NBYDB-1732: uniform distribution of the recalculation ration of SSTs (#42317)VPolka2026-07-084-16/+74
| |
* | Update muted_ya for release-asan mainYDBot2026-07-081-0/+3
| |
* | Dictionary encoding for subcolumns (#45506)risenberg2026-07-0840-251/+887
| |
* | [NBS] Cool down flush requests when node disconnected (#45894)Kirill Pleshivtsev2026-07-0831-172/+514
| |
* | Merge pull request #45912 from ydb-platform/update-muted-ya_main_relwithdebinfoYDBot2026-07-081-1/+0
|\ \
| * | Update muted_ya for relwithdebinfo mainYDBot2026-07-081-1/+0
| | |
* | | Columnshard clang style doesn't touch YDB_LOG macro usages (#45796)kseleznyov2026-07-081-0/+42
|/ /
* | Introduce Interconnect TCP session v2 stub (#45790)Alexander Rutkovsky2026-07-0813-43/+509
| |
* | added soft cluster restart (#45791)xyliganSereja2026-07-081-12/+71
| | | | | | Co-authored-by: Matveev Sergei <[email protected]>
* | EnableCursorV1 by default in CS (#43664)Kirill Vasilenko2026-07-083-2/+3
| | | | | | Co-authored-by: Kirill Vasilenko <[email protected]>
* | [ICRDMA] Rdma send recv primitives (#45051) NBYDB-2320Daniil Cherednik2026-07-0812-98/+1196
| | | | | | Implement basic send/receive ibverb wrappers to use inside IC
* | [YQ-5477] Watermarks: DQ: move streaming_optimize from fqrun to kqprun (#45865)Alexey Pozdniakov2026-07-08148-6690/+5498
| |
* | Update muted_ya for relwithdebinfo mainYDBot2026-07-081-0/+1
| |
* | Snapshots Exchange After Node Restart Fix (#45785)Nikita Vasilev2026-07-081-2/+7
| |
* | GitHub 45201 fix (#45801)Alexey Pozdniakov2026-07-081-6/+22
| |
* | Remove unused metrics (#45826)Nikolay Shestakov2026-07-082-13/+0
| |
* | DataShard: remove cancelled requests from ProposeQueue (#44543)Alexander Lapin2026-07-084-75/+257
| |
* | Merge pull request #45888 from ydb-platform/update-muted-ya_main_release-asanYDBot2026-07-081-0/+4
|\ \
| * | Update muted_ya for release-asan mainYDBot2026-07-081-0/+4
| | |
* | | Merge pull request #45872 from ydb-platform/merge-rightlib-260708-0102YDBot2026-07-08166-3160/+5024
|\ \ \
| * \ \ Sync branches 260708-0102YDBot2026-07-08166-3160/+5024
| |\ \ \ | | | |/ | | |/|
| | * | TIntrusiveList: add move ctor and move assignment operator for itemsswarmer2026-07-082-0/+133
| | | | | | | | | | | | | | | | | | | | The constructor and move operator allow the use of classes with TIntrusiveListItem in any container, not just node-based ones. For example, it is now possible to link vector elements to a TIntrusiveList. commit_hash:1f09f9c3296566729436c2437c675e1cc086d4d6
| | * | YQL-21374: Use runtime setting to make DateTime::Format signature backward ↵imunkin2026-07-087-2/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compatible #### Backward compatibility for DateTime::Format signature ✎ - Introduces a runtime setting to control the availability of the `WriteOffsetWithColon` parameter in the `DateTime::Format` function, ensuring backward compatibility - The new setting `MakeWriteOffsetWithColonAvailableSince` allows controlling when the colon separator in time offsets becomes available, defaulting to version 2025.05 if not specified - Updates the ABI version to reflect the changes in the UDF interface and adds corresponding tests to verify the behavior under different configurations <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:68a9855dc17000f9d47ab24e6727ef082f69504b
| | * | Intermediate changesrobot-piglet2026-07-084-40/+9
| | | | | | | | | | | | | | | | commit_hash:991ef644d607ef39801bae86415ae0190465084d
| | * | Make the yt and flow sources buildable in the ytsaurus-cpp-sdk exportmikari2026-07-075-9/+14
| | | | | | | | | | | | | | | | | | | | Make the yt and flow sources buildable in the ytsaurus-cpp-sdk export commit_hash:a733ad0d534a3717117cd80d162f6d527843decd
| | * | Update contrib/libs/cxxsupp/builtins to 22.1.1robot-contrib2026-07-0727-226/+1928
| | | | | | | | | | | | | | | | commit_hash:c396f0c00bc1356f9f9d809903a3645773ed79f1
| | * | Добавить linters.make.inc для adfoxandreyshest2026-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | Добавить linters.make.inc для adfox commit_hash:e981916cf9686576b60dbe94650b9e83a812e01b
| | * | , YQL-21383] Fix AssumeConstraints optimizer for YtPersistudovichenko-r2026-07-077-44/+96
| | | | | | | | | | | | | | | | commit_hash:1f18e18d7f3430b3a0261dd08c8aa2509e898b13
| | * | Add CMAKE_EXPORTED_TARGET_NAME_FROM_PATH macro, fix cmake target artefact ↵mikari2026-07-077-7/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rename rules- A project may contain many same-named programs: for example, each integration test directory defines its own PROGRAM() conventionally called `pipeline`. CMake requires target names to be unique across the whole project, so exporting such a subtree to opensource forces one to write CMAKE_EXPORTED_TARGET_NAME(unique-name) into every such module. The natural unique name is the module path, but hardcoding path-derived names in every ya.make is verbose and breaks on every repository move. This PR adds CMAKE_EXPORTED_TARGET_NAME_FROM_PATH(project/root): it derives the exported cmake target name from the module path automatically, cutting off the irrelevant common prefix (and validating that the module really lives under it). The output artefact keeps its short name, so tests and tooling that run the binary are unaffected. It also makes the underlying OUTPUT_NAME rename rules actually work in sem export: a multi-command variable value substituted in argument position of a sem string fails to render (`unexpected multicommand substitution`), so the variable is moved into its own command-position slot. commit_hash:aa970726f25773150cc839906aaddc98ee8ac412
| | * | use more effective page implementationtobo2026-07-072-161/+389
| | | | | | | | | | | | | | | | | | | | | | | | - use more effective page implementation that avoid extra level of memory indirection - it also allows emplace_back() for non-movavable non-copyable types commit_hash:ef25b1f123742dea29a7d4fdf59a607e18a9850c
| | * | YQL-21390 fixvvvv2026-07-072-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #### Fix use-after-free in escaped argument names parsing ✎ - Changed type of argument name variable from `TStringBuf` to `TString` to ensure proper ownership of the string data - Added regression tests to verify correct parsing of escaped argument names with resource types - Prevents potential use-after-free issue when parsing nested escaped identifiers where the same scratch buffer is reused - Maintains backward compatibility while fixing memory safety issue in type string parsing <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:f3e444a9d8809737ab51117fc96298967b09e623
| | * | Revert commit rXXXXXX, Automatic release build for test_tool, os_ya, ya_bin, ↵say2026-07-074-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | os_test_tool Проблемы с парсингом `/proc/self/cgroup` и последующим падением сборки. commit_hash:74948cefa40ece680ad89118cb609d88f1266345
| | * | YQL-21387: Introduce TStrongAliasatarasov52026-07-076-5/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #### Introduce TStrongAlias type to prevent type confusion ✎ - Introduces `TStrongAlias` template to create distinct types for different conceptual uses of the same underlying data, preventing accidental mixing of semantically different values - Replaces direct `TString` usage with `TStrongAlias<class TRuntimeSettingsStableHashTag, TString>` for runtime settings hash to enforce type safety - Updates build configuration to include new `strong_alias` source files - Fixes a build issue in `mkql_computation_pattern_cache_ut.cpp` by properly accessing the `resize` method on the hash object - Provides comprehensive implementation of `TStrongAlias` including comparison, hashing, and stream output operators for type-safe usage <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:0c856e748ee2198d8545f1a96d24837132cf7d64
| | * | YQL-21315: Block way implementationatarasov52026-07-0732-45/+1193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #### Block Way Implementation ✎ - Implemented the `BlockWay` function to extract variant type information from block inputs, returning either tuple indices or struct member names - Added type annotation support for `BlockWay` operations with proper handling of optional variants and different underlying types - Introduced computation node implementation for `BlockWay` that processes both tuple and struct variants efficiently - Enhanced runtime version handling to support the new `BlockWay` functionality with version 80 - Added comprehensive unit tests covering various scenarios including tuple variants, struct variants, optional variants, and edge cases - Integrated `BlockWay` into the SQL parser and program builder with proper type inference and validation - Added SQL format tests and canonical data for tuple and struct variant scenarios with and without optionality <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:70a82f5d13a7c1499a9ad88fc5d9b079e352d7ef
| | * | label size extensionivantsvetkov2026-07-072-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Было:** Prometheus decoder ограничивает длину значений меток метрик максимум 256 символами. Попытка передать метрику с более длинным значением метки приводит к исключению `TPrometheusDecodeException`. **Стало:** Максимальная длина значения метки расширена до 1024 символов. Системы, которые генерируют метрики с более длинными значениями (например, с ID источников данных, URL, или сложных идентификаторов), теперь могут успешно передавать такие метрики в Unified Agent без ошибок. **Практический эффект:** Улучшение совместимости с внешними системами мониторинга и приложениями, которые требуют передачи длинных меток. Существующие системы с метками < 256 символов продолжают работать без изменений. --- ## С точки зрения разработчика ### Структурные изменения Расширение требовало изменения способа хранения длины строки в пуле коротких строк: 1. **Prometheus decoder** (library/cpp/monlib): - `MAX_LABEL_VALUE_LEN`: 256 → 1024 2. **Short string pool** (logbroker/unified_agent/common): - `MaxLabelSize`: 255 → 1024 - **Ключевое изменение:** Размер строки теперь хранится как `ui16` (2 байта) вместо `unsigned char` (1 байт) - Было: `*slot->Payload() = static_cast<unsigned char>(s.size())` - Стало: `memcpy(slot->Payload(), &size, sizeof(ui16))` - Это позволяет хранить строки до 65535 символов (но логически ограничено на уровне валидации) ### Изменённые файлы | Файл | Основные изменения | |------|------------------| | `prometheus_decoder.cpp` | `MAX_LABEL_VALUE_LEN: 256 → 1024` | | `prometheus_decoder_ut.cpp` | +2 юнит-теста для новых граничных значений | | `short_string_pool.h` | `MaxLabelSize: 255 → 1024`, operator[] использует ui16 для чтения размера | | `short_string_pool.cpp` | Allocation и copy логика адаптирована для ui16 | ### Тестирование Добавлены два новых юнит-теста: - **LabelValueAtNewLimitIsAccepted:** Метрика с меткой ровно 1023 символа успешно парсится ``` "m{l=\"" + string(1023, 'a') + "\"} 1\n" ``` - **LabelValueOverNewLimitStillThrows:** Метрика с меткой ≥1024 символов выбрасывает исключение ``` "m{l=\"" + string(1024, 'a') + "\"} 1\n" // → TPrometheusDecodeException: "trying to parse too long label value, size >= 1024" ``` ### Безопасность и совместимость - ✅ Обратно совместимо: строки < 256 символов работают так же - ✅ Валидация: лимит 1024 проверяется на уровне Ref() в пуле - ✅ Граничные случаи: добавлены тесты для 1023 и 1024 символов - ✅ Выделение памяти: правильно рассчитано с учётом новых 2 байт для размера - ✅ Я не нашел ситуации когда закодированная строка (длина + строка) улетала куда-то из пула и потом пыталась раскодироваться. Так что считаю, что миграции никакой не надо и все обратно совместимо. НАДЕЮСЬ Я НЕ ОШИБАЮСЬ commit_hash:b30852954951bd8e65d69777a59ffeb58da76b47
| | * | Revert commit rXXXXXX, Move dq/config from contrib/ydb to yt/yqluzhas2026-07-0719-2416/+0
| | | | | | | | | | | | | | | | commit_hash:0a6fb71a90bc16702fe3c0174948708c604e8097
| | * | Fix reliance on depenedencies leak in sandboxing builds -- yqlspreis2026-07-072-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ref: https://nda.ya.ru/t/AbfNDR767hmc8i The 2nd (updated) generation induces dependencies into generated files from inputs, but it was not anyhow reflected in ya.make and sandboxing used to work only because inputs leaked through outputs into compilation. This issue was discovered in attempt to fix dependencies leak. commit_hash:9af9a17fccb7e94e064dbd0af14fe69eab792f78
| | * | YQL-21215: Finite values checks ListFromRangeeakozyrev2026-07-074-73/+144
| | | | | | | | | | | | | | | | | | | | | | | | 1. Добавил проверку start/end на равенство бесконечности -\> возвращается пустой список 2. Изменил логику инкремента индекса (перевел на целочисленный тип), чтобы работало валидно при малых значениях float commit_hash:f6b473a1d0227269591f9a683d81614696f0b040
| | * | Intermediate changesrobot-piglet2026-07-0719-118/+221
| | | | | | | | | | | | | | | | commit_hash:c47f3e7764bd7330c7ebaa5cae3b58b1ab439ad5
| | * | KIKIMR-25621: Introduce multi-column statisticsazevaykin2026-07-0712-18/+365
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #### Introduce multi-column statistics support ✎ - Adds support for defining multi-column statistics in table schemas, allowing users to specify statistics for combinations of columns rather than individual columns - Introduces new SQL syntax for CREATE TABLE and ALTER TABLE statements to declare statistics with optional type specifications - Implements validation for statistics definitions, ensuring column references are valid and names are unique - Extends the query processing pipeline to handle statistics declarations during table creation and modification operations - Updates syntax highlighting and parsing rules to recognize the new statistics keyword and related constructs - Adds comprehensive unit tests covering various statistics scenarios including multi-column definitions, type specifications, and validation rules <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:5ca3f8721d3e3660f2bb890c1408e420cf7c3e81