|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 9s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m56s
CI / backend-tests (pull_request) Successful in 16m5s
#2928 поставил db.close() выше по коду, а ниже сессия ещё раз работает с БД: UPDATE thumb_path + commit в ветке генерации миниатюры из локального оригинала. Поведение штатное — close() возвращает соединение в пул, следующий execute берёт новое, — но проверял это только комментарий. На проде ветка сегодня не исполняется ни разу: замер 19.08 по domrf_kn_photos — 0 строк с непустым local_path и пустым thumb_path (все 1889 закешированных уже с миниатюрами). Значит первый же ленивый фетч новой фотографии пойдёт по коду, который не проверял никто, и обычная эксплуатация дефект бы не показала. Проверка читает результат ОТДЕЛЬНЫМ соединением, а не той же сессией: сессия видит собственную незакоммиченную транзакцию, и пропажа commit() прошла бы мимо. Фальсификация: с убранным db.commit() тест краснеет (assert None == ...webp). Форматирование assert-сообщения — от pre-commit ruff 0.7.4, не моё (#2864). |
||
|---|---|---|
| .. | ||
| alembic | ||
| app | ||
| db/init | ||
| output | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .env.runtime.example | ||
| .gitignore | ||
| alembic.ini | ||
| debug.log | ||
| Dockerfile | ||
| pyproject.toml | ||
| uv.lock | ||