[MIP-456] 미러디스크 리소스 추가 후 미러 상태 DB 에 갱신 안됨
Subject
미러디스크 리소스 추가 후 미러 상태 DB 에 갱신 안됨
APPLIES TO:
3.4.1 미러 상태 데이터베이스에 저장된 버전입니다.
SYMPTOMS
1. 가상 시스템에 디스크 추가 후 드라이브 레터 할당.
2. DK 에서 createjob 과 createmirror 수행
3. MCCS 에 미러디스크 리소스 추가
(미러 리소스 추가 화면에서 가끔씩 Source 더블클릭해도 미러아이피 안보임 - MCCS 재시작하면됨)
4. 리소스는 추가 되나 미러 상태를 저장하는 테이블에 값과 속성값이 비정상임
(양 노드 재시작하면 정상으로 복구됨)
DK 는 정상임.
CAUSE
미러에 대한 이벤트는 mccs에서 후킹하여 받아오는데
볼륨에 대한 update 리스너 예외처리가 잘못되어 어떤 경우는 되고 안되고 하는것 같습니다.
한쪽에만 db가 갱신안된이유는 미러 리소스를 만들때 source , target , driveletter를 가져올때 볼륨에 대해 한번더 읽도록 되어있습니다.
이때 console로 리소스를 만든 node만 role과 status가 update 되고 다른한쪽은 console을 동작 시키지 않았기때문에 update가 안됩니다.
그래서 한쪽 만 정상적으로 나오는경우가 있었습니다.
SOLUTION
미러롤과 미러상태를 업데이트 하는 과정에서 미러에이전트가 생성되어 있지 않으면 null point exception 발생으로 두 속성이 설정되지 않는 현상입니다.
또한 미러 롤 업데이트 시에 잘못된 변환(문자열을 변환해야 하는데 상수를 변환하는 오류)를 사용하고 있어서 두 부분을 변경하였습니다.
Fixed MCCS 3.5