Airflow 3.2.1 에서 OOM 발생

안녕하세요. 올해 초까지 2.7.1 을 사용하다가 3.2.1 로 두 달 전에 변경했습니다.

그리고 엊그게 api_server 에서 JWT 토큰을 받지 못하는 현상이 발생되었는데요.

로그나 서버 상태를 보니 몇 가지 상황이 보였습니다.

  • api_server 에서 JWT 토큰을 발행하고 약 9분정도 로그 없음. 이때 Task fail 발생.
  • dag_processor 의 CPU 사용량이 높음.
  • 총 16GB인 메모리에서 14GB 찼다가 12GB 로 떨어지는 현상이 반복됨.
  • dag_processor 의 로그를 보면 OOM 이 발생되어 SIGKILL 이 발생됨.

무겁지 않은 작업이라 1대에서 docker 로 구성하여 돌리고 있습니다.

uvicorn 으로 구성되어 있어서 gunicorn 으로 설정을 변경하긴 할텐데

Memory leak 이 어디서 발생한 것인지 잘 모르겠네요.

뭔가 예상되는 것이 있긴한데,
아마도 pathlib의 sys.intern 요걸 사용되신다면 여기서 메모리 누수 문제가 있었습니다.
다행히 다음 버전에서 수정되었어요.

정확하게 체크하고 싶으시다면 memray라는 것이 있는데 요거 사용해보시면 도움이 되실거예요 :slight_smile:

네, 감사합니다. memray 도 고민해 봐야 겠네요.

현재는 기본값으로 쓰고 있던 것이 문제가 같아서 몇가지 먼저 적용해 보려 합니다.

  • dag-processor 의 parsing 주기 연장
  • api-server 의 gunicorn + uvicorn 구성 변경