| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
`ydb workload stock` commands (#12532)
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Тест флаки
|
|
|
| |
Тесты уже замьючены
|
| |
|
| |
|
| |
|
|
|
| |
Co-authored-by: artemmufazalov <artemmufazalov@users.noreply.github.com>
|
| |
|
|
|
|
| |
->ydb/library/formats/arrow/csv/converter (#12492)
|
| |
|
|
|
| |
Co-authored-by: azevaykin <145343289+azevaykin@users.noreply.github.com>
|
| |
|
| |
|
|
|
| |
Co-authored-by: Ivan Blinkov <ivan@ydb.tech>
|
|\
| |
| | |
Library import 241210-1802
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Microfix DQ Reader: do not hang on stream creation errors
commit_hash:6c67546e07f7e9ae5ab4a1dab703f58ba66f859b
|
| | |
| | |
| | |
| | | |
commit_hash:ee7c4c8dd35159dbee0563f507c2fe3c0e445685
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
пропуск pnpm install на актуальных node_modules
## Суть изменений:
1. Пересмотрены методы логирования при сборке (и после), чтобы не показывались логи действий, который не выполняются (пропускаются).
Таким образом логирование секций кода (с последующим стиранием строки лога) теперь осуществляется в методе-обёртке.
2. Команда `nots install` теперь выполняет последовательную сборку пиров (раньше запускал параллельно, что приводило к состоянию гонки);
3. Сборка пиров в команде `nots install` выполняется без рекурсивного обхода пиров для пиров (все пиры и так переданы). Это позволило не "чинить дедупликацию", а в принципе не приводить к "дупликации" – каждый пир проходится один раз. Тут важно определить порядок обхода.
4. Пропуск повторных запусков `pnpm install` без необходимости. Необходимость вычисляется так:
- `builder` в локальном режиме кладет в аутпут файлик `pre.pnpm-lockfile.yaml`, хеш которого используется в `nots/cli`
- `builder` в локальном режиме рядом с папкой `node_modules` создает файлик `node_modules.json` с хешом `pre.pnpm-lockfile.yaml`, который использовался при сборке этого `node_modules`
- `nots/cli` использует сравнивает файлик из аутпута и из `node_modules.json` и если отличаются, то `pnpm install` запускается.
Пожалуй, пункт 4 стоит расписать.
Кажется, что эти файлики всегда будут совпадать, но я перестраховываюсь: часть пиров может быть закеширована в сборке, но удалена из `~/.nots/nm_store`, например, при запуске с `nots --clean`.
Чтобы избежать подобных локальных казусов я и перестраховываюсь.
Хеш от `pre.pnpm-lockfile.yaml` предпочтительнее хеша от `pnpm-lockfile.yaml`, т.к. он включает в себя пиры (т.е. это результат смерживания лок-файлов).
Также была версия с проверкой, что node_modules создалась в промежутке между проверкой и запуском nots/cli (т.е. в рамках `ya make`), но это не работает при кешировании узлов сборки пиров.
Если у вас будут идеи, какие еще проверки можно сделать для принятия решения, запускать ли `pnpm install` – я открыт к предложениям.
## Побочные улучшения:
### nots/cli
- Добавлен хелпер `utils.ts:processItems(items, action)` - отказоустойчивый `forEach`;
- Для `log-formatters.ts:unlog` вместо прямой записи ESC-последовательностей в stdout используется модуль `readline`;
- `log-formatters.ts:unlog` не срабатывает в тестах (пишет заглушку) и при включении отладочного вывода (`DEBUG`/`--verbose`);
- Для `DoneHandler` добавлен метод-обёртка `runOnce(action, key, fn)` для более удобного использования, а также запись в лог отладки, если действие пропускается.
## Что не вошло в PR
Осталось на будущее:
1. Дедупликация пиров нескольких таргетов.
Т.е. сборка пиров при `nots install project1 project2` должна быть общей, а не своё поддерево для каждого.
И `ya make` для них нужно запускать один раз.
И пост-сборочные действия выполнять единожды в правильном порядке, деже не пытаясь в дупликацию.
2. Подобный пункту 4 механизм, но не для `nots build`, а `nots install` — не запускать `pnpm install`, если недавно ставили (тут нужно определиться с критерием)
commit_hash:11f98acb44f759464876f61c5dbf69da7c0d0340
|
| | |
| | |
| | |
| | | |
commit_hash:15aaef75bae583fffd1010b8e4cad27ea4b3e16d
|
| | |
| | |
| | |
| | | |
commit_hash:1f0734016dee84a91432d856f05210371a339d6f
|
| | |
| | |
| | |
| | | |
commit_hash:364fa907bc33520787806fea2288afcb1ae465f6
|
| | |
| | |
| | |
| | | |
commit_hash:e2368dba2bbcbe620269ca0e3609246e8aa3f998
|
| | |
| | |
| | |
| | | |
commit_hash:a51361a96bfccae4f317752367bad8f0dc155032
|
| | |
| | |
| | |
| | | |
commit_hash:1330e42655928e70b78056e9f603c1afd53e6791
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also make input string reference const
<https://github.com/ydb-platform/ydb/issues/12306>
Make input string reference const
Make sure returned TStringBuffers do not change during splitter lifetime
splitter.Consume() возвращает TStringBuf.
Если в колонке есть ескейпинг кавычек, вся колонка обрамлена двойными кавычками (`"`), а внутри для ескейпинга двойных кавычек используются две идущие подряд двойные кавычки (`""`).
В таком случае вернуть TStringBuf, ссылающийся на кусок входящего TString, не получится, т.к. нужной подстроки в нем не существует.
Для этого используется мембер TVector\<TStringbuf\> CustomStrings. В него накидываются нужные кусочки из исходной строки и в конце складываются в мембер-строку TString CustomString
Например, из строки `"abc""cde""efg"` копились кусочки `abc"`, `cde"`, `efg` и в конце склеивались.
И возвращался TStringBuf из этой строки-мембера.
Проблема в том, что если в другой колонке той же строки также встречались кавычки с ескейпингом, эта строка-мембер CustomString очищалась. При том, что на неё всё еще ссылался возвращённый ранее TStringBuf.
В итоге "предыдущий" TStringBuf либо начинал ссылаться на часть новой строки, если новая строка была длиннее, либо на часть новой строки \+ рандомный набор байт в памяти, если новая строка оказывалась короче.
Фикс в том, чтобы хранить все строки, сгенерённые сплиттером, всё время жизни сплиттера
commit_hash:aa4957e1d8030cd48d06eaa16a7ad61e878348f8
|
| | |
| | |
| | |
| | |
| | |
| | | |
lambdas and actions
commit_hash:d2b19f44d3c6f6e89f03c2c27e897d2b55e6174e
|
| | |
| | |
| | |
| | | |
commit_hash:3c3bc0fb4bcf949a90d2646b27f93b9ed580328d
|
| | |
| | |
| | |
| | | |
commit_hash:30e75a336c73b67430370de2655cb84a61d5cf4e
|
| | |
| | |
| | |
| | |
| | | |
Update tools: test_tool, os_ya, ya_bin, os_test_tool
commit_hash:1d3f0583f2bb01dca4cc7f8974e7e0e1bc2ce9d6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Нам в sdc для перехода на аркадийный OpenCV нужны модули из opencv\_contrib, работающие с CUDA (`cudaarithm`, `cudafilters`, `cudaimgproc`, `cudalegacy`, `cudaoptflow`, `cudawarping`, `cudev`). В этом PRе добавляю нужные модули.
Что тут происходит:
* Флаги, определяющие наличие CUDA и дополнительных модулей, определены в `cv_cuda_config.inc`.
* Сборка с зависимостями для CUDA определяется флагом `OPENCV_WITH_CUDA`.
* Добавил патч из апстрима, который не попал в 4.10, нужен для совместимости с CUDA 11.8. Источник: <https://github.com/opencv/opencv_contrib/commit/b236c71c2f8d983403c35a0cea8bec0432a4b0fe>
* Добавил патч из sdcшного OpenCV, который распиливает файл на несколько кусков, чтобы не таймаутилась сборка.
* Добавил патч для биндингов в питон. Исправляет проблему, связанную с тем, что в биндинги попадают все символы, найденные при сборке (т.е. новые модули, которые мы добавляем под IFами, попадают туда безусловно). Для этого все символы, попадающие в биндинги из новых модулей, патчатся `#ifdef HAVE_CUDA … #endif`.
* Отключил сборку с CUDA для `modules/photo`. Причина: не собирается с `CUDA_VERSION=11.8` (сегфолт во время сборки). Отключил куду, т.к. мы этим модулем не пользуемся (а больше пользователей этого модуля с включенной кудой нет).
commit_hash:37018247a89b6c01b32db572c5b45ed69c9778f8
|
| | |
| | |
| | |
| | |
| | | |
Follow-up to <https://nda.ya.ru/t/qM41fmwb7AGmMo>
commit_hash:1ba96815c597bb1e9d74e10889417cca329354f8
|
| | |
| | |
| | |
| | |
| | | |
Update YFM for ya make to latest version
commit_hash:bfcef040a3463c8e52f728727a9275d4912e8104
|
| | |
| | |
| | |
| | |
| | | |
YQL-18538
commit_hash:aa38c333a5804b1d56c2b2a604f3b027f0d32369
|
| | |
| | |
| | |
| | | |
commit_hash:3e4fdb7e4afeb5f524578778330d927d8f165b1a
|
| | |
| | |
| | | |
Co-authored-by: Dmitry Nechitaev <nechda@yandex-team.ru>
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
| | |
|