on-run-start 훅의 실패
on-run-start 훅의 실패 (Failures in on-run-start hooks)
skip_nodes_if_on_run_start_fails 플래그는 on-run-start 훅에서 실패가 있으면 선택된 모든 리소스를 건너뛰게 해요. dbt v1.12부터 기본값이 true예요. 이 플래그는 v2에서 제거됐고 새 동작이 항상 활성화돼요.
출처: 문서
본문
이 플래그는 v2에서 제거됐어요. 새 동작이 항상 활성화돼요. 업그레이드한다면 dbt_project.yml에서 이 플래그를 제거해요.
| skip_nodes_if_on_run_start_fails | dbt v1 Latest | dbt v1 |
|---|---|---|
| Introduced | 2024.10 | 1.9.0 |
Matured (default → true) |
2026.09 | 1.12.0 |
| Removed | — | v2.0 |
dbt v1.12부터 skip_nodes_if_on_run_start_fails는 기본값이 true로, on-run-start 훅에서 실패가 있으면 선택된 모든 리소스를 건너뛰어요.
자세한 내용은 on-run-start / on-run-end를 참고하세요.
영향
프로젝트가 비핵심 작업(예: 텔레메트리, 알림, 감사 삽입, 세션 설정 첨부)에 on-run-start 훅을 사용한다면, 훅이 실패할 때마다 빌드가 출력 생산을 멈춰요. 이전에 매일 갱신되던 테이블과 뷰는 다음에 훅이 실패할 때 업데이트를 멈춰요.
권장 조치
on-run-start 훅이 실패한 뒤 모든 모델이 건너뛰어지면, 실행 로그에서 어떤 on-run-start 훅이 실패했는지 찾아요 — 모든 SKIP으로 표시된 노드 바로 앞에 ERROR로 나타나요. 거기서 훅이 필요하지 않다면 제거하거나, 훅의 SQL 문을 검토해 실패의 근본 원인을 고쳐요.
이 동작을 옵트아웃하려면 플래그를 false로 설정해요:
dbt_project.yml
flags:
skip_nodes_if_on_run_start_fails: false