DAG 설계 시 겪은 장애와 최적화 결정을 구체적으로 푸는 결
인턴 기간에 Airflow로 일 배치 ETL 파이프라인을 유지 관리한 경험이 있습니다. 처음에는 선임이 만들어둔 DAG를 모니터링하고 실패 알림이 오면 재실행하는 수준이었는데, 어느 날 특정 DAG가 매일 새벽 같은 시간에 타임아웃으로 떨어지는 패턴을 발견했습니다. 로그를 파보니 상위 태스크가 끝나기 전에 하위 태스크가 시작되면서 DB 연결이 몰리는 구조였습니다. 저는 태스크 의존성을 명시적으로 재정의하고, 동시 실행 태스크 수에 max_active_tasks 제한을 걸었습니다. 수정 후 타임아웃 발생이 2주간 0건이었고, 평균 실행 시간도 18분에서 11분으로 줄었습니다. 혼자 전부 해결한 건 아니었고, 원인 분석과 수정 방향 제안에서 주도적으로 움직였습니다. 그 경험으로 ETL에서 실패는 데이터가 아닌 실행 순서 설계에서 자주 온다는 걸 배웠습니다.