같은 홈 디렉터리 아래에서 여러 Oozie workflow(shell action 포함)를 병렬로 실행하면, 한 workflow가 끝나면서 다른 workflow가 아직 쓰고 있는 파일까지 사라져 FileNotFoundException으로 실패한다.
삭제 로직 자체(WfEndXCommand.deleteWFDir())가 상위 디렉터리를 지운다는 것은 원본에서 소스 코드 추적으로 확인했지만, 이 문서가 인용하는 '이후 배포판에서 수정됨'이라는 설명은 원본 케이스의 코멘트를 근거로 하며 이 문서 작성 시점에 릴리스 노트로 재확인하지 못했다. 적용 전에 실제 배포 버전의 릴리스 노트에서 해당 수정 여부를 다시 확인해야 한다.
Oozie의 WfEndXCommand.deleteWFDir()가 개별 action 디렉터리가 아니라 그 상위(홈) 디렉터리 전체를 삭제하는 결함이며, 원본 케이스는 이후 배포판에서 이 문제가 수정됐다는 안내를 받았다(정확한 버전·릴리스 노트는 이 문서에서 별도로 재확인하지 못했다).
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
oozie jobs -filter status=SUCCEEDED -len 50
oozie-oozi/ 등)인지 HDFS에서 확인한다.hdfs dfs -ls /user/'<user>'/oozie-oozi/
즉시 완화책으로 oozie.action.keep.action.dir=true를 적용해볼 수 있으나, 이 옵션은 action 디렉터리 삭제만 늦출 뿐 workflow가 상위 디렉터리를 삭제하는 것 자체는 막지 못한다는 점을 원본 케이스에서도 확인했다. 병렬 workflow가 많은 환경에서는 이 옵션만으로 완전히 해결되지 않을 수 있다.
근본적으로는 이 결함이 수정된 Oozie/Runtime 버전으로 업그레이드하는 것을 검토한다. 업그레이드 전에는 같은 홈 디렉터리를 공유하는 workflow를 동시에 병렬 실행하지 않도록 스케줄을 조정하거나, workflow마다 별도의 하위 디렉터리를 쓰도록 경로를 분리해 상위 디렉터리 삭제의 영향을 받지 않게 한다.
업그레이드 후에는 동일한 병렬 실행 패턴(여러 workflow가 같은 홈 디렉터리 아래에서 동시에 끝나는 상황)을 재현해 FileNotFoundException이 재발하지 않는지 확인한다.
같은 홈 디렉터리를 공유하는 여러 workflow를 병렬로 반복 실행해 다른 job의 작업 디렉터리가 삭제되지 않는지, FileNotFoundException이 재발하지 않는지 확인한다.