[2026-11-09] eagle: family/how-to/arr-stack-taiga.md

This commit is contained in:
Alexey Martemyanov committed 2026-11-09 16:53:26 +06:00
1 parent aa0811c544
commit 62a4f5ffbb
1 file changed
+20
+20
View File
@@ -427,3 +427,23 @@ Transmission torrent 724, hash `B9D1249744F59A196728EEA12E5308DDD0D90C8F`, им
Дополнительно проверен MP3-пак Kinozal 859659 «Pain - Discography Metal 1997–2016». Его MP3-каталоги подтверждают несколько нужных альбомов, но в заголовке нет битрейта: обычный `/parse` определяет качество Unknown. Полный `/release/push` отклонил кандидат по Unknown, лимиту размера для этого качества и уже имеющимся VBR-V0-файлам. Битрейт не выдумывался, эти отказы не обходились, пакет не скачивался. Результат — `pain-pack-decision.json`. Сопоставление всей дискографии или загрузку всех 28 релизов не обещать; корректно утверждать запуск двух названных раздач и включение остальных релизов в дальнейший поиск.
### Защита от подмены артиста при поиске Lidarr, 2026-11-09
В штатном Lidarr 3.1.6.5079 обычный разбор `Painkiller - Pain and Destruction` извлекал артиста Painkiller. При повторном разборе в контексте ArtistSearch разделитель `(\W*|\b)` мог совпасть с пустой строкой. Lidarr выделял `Pain` из начала `Painkiller` и связывал результат с альбомом Pain. Последующая проверка сравнивала уже подставленного артиста. [Парсер исходной версии](https://github.com/Lidarr/Lidarr/blob/v3.1.6.5079/src/NzbDrone.Core/Parser/Parser.cs#L341-L401), [повторный разбор](https://github.com/Lidarr/Lidarr/blob/v3.1.6.5079/src/NzbDrone.Core/DecisionEngine/DownloadDecisionMaker.cs#L75-L104).
Общее исправление требует границ имени артиста и названия альбома. Повторный разбор сохраняет явно распознанного артиста. Сопоставление раздачи по имени допускает нормализованное каноническое имя или один точный известный псевдоним. Правила применяются в штатном поиске, RSS и `/release/push`. Импорт по файловым тегам, настройки качества, мониторинг и расписание worker сохранились.
Сборка `lidarr-artist-guard:3.1.6.5079-20261109` установлена в compose сервиса `lidarr`. Базовый LSIO образ помечен `lidarr-guard-base:3.1.6.5079`. SHA256 работающего `Lidarr.Core.dll` — `5c37fec42858c216d06dd93a8a91cb44c1d6ae8c2cb58d953b9f68487c7264aa`. Исходник, патчи, результаты API и лог тестов лежат в `/mnt/RED_2TB/docker/arr/lidarr-guard-build-20261109/`. Для сборки использован исходный тег `v3.1.6.5079` и SDK .NET 8.0.427. Анализаторы отключены для сборки из архива, имеющиеся предупреждения NuGet NU1902 и NU1903 сохранены как предупреждения. После обновления Lidarr требуется перенести патч на новый исходный тег и повторить проверки.
В `ParserFixture` прошло 104 теста, 2 пропущены. Изолированный API-тест сравнил исходный и исправленный контейнеры с одной копией каталога и без производственного blocklist. Исходный контейнер принимал Painkiller как Pain и Museums как Muse. Исправленный отклонил эти результаты и принял правильные Pain и Muse, сохранив сопоставление GeoffPlaysGuitar с Geoffrey Day. Доказательства — `parser-fixture-verified.log` и `api-regression.json`.
Для отката взять исходный compose из `deployment-before-20261109T104155Z/`, вернуть только строку `image` сервиса Lidarr, указав сохранённый `lidarr-guard-base:3.1.6.5079`. Проверить `docker compose config -q`, затем применить `docker compose up -d --no-deps --force-recreate --pull never lidarr` из каталога arr. Данные и настройки находятся в прежних bind mounts.
### Очередь скачивания и импорта Lidarr, 2026-11-09
В исходной очереди 663 строки соответствовали 121 раздаче. Диск имел около 9,7 ТБ свободного места. Transmission не показывал ошибок записи. Большинство строк относились к уже скачанным альбомам и сборникам. Типичные ошибки импорта — выбранное издание не совпадает с файлами, отсутствуют или не распознаны треки, в одном пакете несколько версий альбома. Три незавершённые раздачи без пиров — Нейромонах Феофан, Dance With The Dead и Pendulum.
Каста, «Чернила осьминога (Deluxe)» (album 861, release 4080). В торренте 23 MP3, в каталоге выбранного издания 22. Дополнительный ремикс «Врун-врун» сдвинул номера следующих бонусов. Все 22 нужных файла однозначно сопоставлены по тегам названия и длительности с допуском 2 с и скопированы штатной командой ManualImport. Проверены 22 привязки и файлы в библиотеке. Исходные 23 MP3 остались в раздаче на 100%. План и результат — `lidarr-autosearch/album-recovery-20261109T102156Z/`.
Ещё 19 предупреждений по раздачам сняты после проверки каждого запрошенного альбома по каталогу, привязанным trackFile ID и размерам файлов на диске. Использован штатный DELETE queue с `removeFromClient=false`, `blocklist=false`, `skipRedownload=true`. Повторную регистрацию того же завершённого торрента Чайфа подтвердили записи истории Lidarr. У этого торрента метка Transmission заменена на `lidarr-imported`, поэтому Lidarr пропускает его при опросе. Путь, файлы и раздача сохранены. Доказательства — `already-imported-queue-*.json`, `chaif-transmission-before.json`, `chaif-transmission-after.json` и `final-verification.json` в каталоге сборки.