[MIP-97] Log Off 시 MCCS Agent 가 죽는 현상

Subject
Log Off 시 MCCS Agent 가 죽는 현상

APPLIES TO:
shared disk 환경
windows 2003 x86
MCCS 3.1


SYMPTOMS
MCCS Agent 가 log off 시 재시작 되지 않음.


CAUSE
프로세스 실행 시 현재 열려 있는 세션에 UI를 보여 주도록 하기 위해서 해당 세션 ID로 프로세스를 실행하면서 발생하는 문제로 보입니다.
PROCMGR.DLL을 메모리에 로드하고 프로세스를 실행할 경우 DLL이 로드되거나 참조하는 메모리 영역에 해당 세션에 대한 참조가 있을 때, 해당 세션을 로그아웃으로 종료할 경우 메모리 오류로 MCCS Agent가 종료되는 것으로 보입니다.
DLL 로드를 전역이 아닌 로컬 영역에서 하거나 프로세스 실행을 Runtime 객체를 통해 mccsd로 하는 방법이 대안이 될 수 있겠습니다.
박경민 대리가 적절한 방법을 선택해서 수정하기 바랍니다.
Java JVM 때문에 log off 후 process가 종료 되는 것 같음.
테스트 #1
1. 일반 Win32 console 에서 무한루프 sleep(3000) 도는 실행화일
2. java console에서 무한루프 Thread.sleep(3000) 도는 것을 jar 변환 후 jsmooth로 exe로 만든 실행화일
log off 시 1번은 유지되나 2번은 유지 되지 못함.
테스트 #2
위의 1번 Win32로 만든 실행 화일을 MccsServer.exe 대신 집어 넣고 MccsAgentService 가 실행토록 만든 후 log off
log off 후 terminate 된적 없음.
jvm이 terminate 되어 java로 작성된 process들이 log off 후에 종료 된 것이었음.
-Xrs 옵션으로 해결 되었음.



SOLUTION

수정완료.
기존 -Xrs 옵션은 유지
서버 restart일 때 일부 리소스가 MCCS 보다 먼저 죽어서 restart 하려고 하는 것은 monitoring의 결과 값이 문제가 있었음.
shutdown 동안에는 정상적인 batch command로 monitoring이 되질 않음"

Fixed MCCS 3.2