fix: rewrite seed job to avoid PL/pgSQL $$ blocks #183
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/seed-job-v2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
AI Code Review
Обзор PR: Переписка seed job без PL/pgSQL блоков
Общее впечатление: PR в порядке, ничего критичного.
✅ Хорошо
set -e— скрипт падает при первой ошибкеreport-generator-seed-v2) — предотвращает конфликты переименования⚠️ Проблемы
Отсутствует
backoffLimitиrestartPolicyJob может зависнуть или перезапуститься неконтролируемо. Добавь:
Уязвимость TOCTOU при проверке seeded
Проверка
COUNT=$(psql... SELECT COUNT(*) FROM orders)в отдельной команде может дать race condition, если несколько Job запустятся параллельно.Решение: добавь
parallelism: 1в Job spec или используй транзакцию с LOCK:Нет timeout на скрипт
Seeding 5M строк может занять часы. Добавь
activeDeadlineSeconds:Логирование одного batch-а
echo "Batch $BATCH/50..."выведется только после всей вставки (100k строк). При зависании — не будешь видеть, где stuck. Добавь прогресс внутри psql или переведи на пулы меньше.Отсутствует liveness/readiness для Job
Это однократный Job, но если перейдёшь на CronJob — нужны будут.
Minimal fix:
Итог: Логика скрипта хорошая, но надо добавить 4 строки в spec для надёжности.
Automated review by Claude Haiku | advisory, does not block merge