[MIP-446] 미러디스크가 SWITCHOVER 시에 "MIRROR_RESYNCING -> MIRRORING" 으로 변경될 때 중복해서 2번 디버그 로그가 발생된다
Subject
미러디스크가 SWITCHOVER 시에 "MIRROR_RESYNCING -> MIRRORING" 으로 변경될 때 중복해서 2번 디버그 로그가 발생된다.
APPLIES TO:
"MCCS version: 3.1.7
OS: -
APPs: -
Disk Type: -"
SYMPTOMS
미러디스크를 SWITCHOVER 할 때 실제로 상태변경이 1번 만 일어나지만 중복해서 발생하는 것처럼 디버그 로그가 발생된다.
CAUSE
"A와 B 노드가 있다고 가정.
a,b,c의 세 hb line이 있다고 가정. 그럴 경우 session은 한 노드당 세개씩.
라인 하나를 일부러 끊을 경우 lastid와 count가 초기화 되어 버림. count는 id로 사용됨. 그러나 나머지 두 세션은 멀쩡히 살아 있음. 따라서 큐에 있는 데이터들은 예정되로 전송됨.
예를 들어 A->B로 보낼 데이터가 큐에 남아 있고 이 데이터의 id는 1000이라고 가정할 경우 세션이 끊어졌을 시 0으로 리셋. 그 후 데이터 전송 됨. B에서는 받은 데이터의 id가 1000이므로 자신의 lastid를 1000으로 설정. 그러나 A는 HBDataCount가 여전히 0. 그 후 A에서 보내오는 모든 데이터는 1000보다 아래이므로 모두 무시됨."
SOLUTION
fixed MCCS 3.2