gam_agent를 통한 작업수행 시 이용하는 /tmp 사용 옵션변경 (gam_agent 1.1.4 이전 버전만 해당 함)

1. Environment

  1) MDRM 4.5.4 이전 버전에 포함된 gam_agent 1.1.4 이전 버전의 환경

2. Symptoms

    1) MDRM에 의한 컴포넌트 수행 시 “java.io.IOException” Error 내용이 발생하며 컴포넌트가 에러처리 됨

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.3846416077726320748.20080/work/Tomcat/localhost/_] is not valid

3. Cause

  • gam_agent가 기동 시 /tmp 영역에 “/tmp/tomcat**” 디렉토리를 생성한다.
  • 이 후  컴포넌트에 대한 스크립트 실행 시 “/tmp/tomcat* 디렉토리를 이용하도록 되어 있다.
  • 고객 정책 상 /tmp 사용이 불가한 경우 나 주기적으로 /tmp영역을 정리하는 내용이 적용되어 있을 경 우 “/tmp/tomcat**” 영역이 삭제되어 컴포넌트 수행 에러가 발생한다.

4. Solution

     1) gam_agent의 임시디렉토리 경로를 수정하여 해결할 수 있다.

         경로: /opt/gam_agent/gam_agent.conf

5. Workaround

      1) gam_agent 중지

      2) gam_agent 임시디렉토리 경로 수정

         # vi gam_agent.conf

수정 전 내용JAVA_OPTS=”-Xmx64M -Xms64M -XX:MaxPermSize=64M -server”
수정 후 내용JAVA_OPTS=”-Xmx64M -Xms64M -XX:MaxPermSize=64M Djava.io.tmpdir=/opt/gam_agent/tmp -server

       3) gam_agent 시작

         – “ps”로 gam_agent 조회 시 “-Djava.io.tmpdir=/opt/gam_agent/tmp” 내용확인