확인 시각
2022년 12월 21일 (수요일) 10:43 ~
이슈
•
장애 내용
페널티 기간이 지났음에도 대여가 불가능함
+ 반납 1일 표기 상태에서 공유 사물함을 재대여 했을 때 연체 메일 수신
•
장애 영향
서비스 혼선 및 기존 연체자와 현재 오류로 인한 연체자 구분이 어려워짐
•
장애 원인
메인 서버의 표준시가 KST가 아닌 UTC인 상태로 인해 페이지에서 보이는 시간과 DB상의 시간이 맞지 않음
조치 내용
•
전체 lent의 lent_time을 +9시간
•
이때 날짜가 바뀌게 되면 expire_time을 +1일
•
expire_time이 +1일로 됨에 따라 만료가 아니게 되는 사물함의 상태를 원상복구
•
ban_log의 경우 banned_date랑 unbanned_date를 +9시간
위 처리를 아래 raw query로 처리
# '2022-12-21 11:06:05'이전 +9시간 보정 및 만료시간 하루 추가
UPDATE lent
SET expire_time =
CASE
WHEN DATEDIFF(DATE_ADD(lent_time, INTERVAL 9 HOUR), lent_time) = 1
THEN DATE_ADD(expire_time, INTERVAL 2 DAY)
ELSE DATE_ADD(expire_time, INTERVAL 1 DAY)
END,
lent_time = DATE_ADD(lent_time, INTERVAL 9 HOUR)
WHERE lent_time < '2022-12-21 11:06:05';
# '2022-12-21 11:06:05'이후 만료시간 하루 추가
UPDATE lent
SET expire_time = DATE_ADD(expire_time, INTERVAL 1 DAY)
WHERE lent_time >= '2022-12-21 11:06:05';
# 전체 밴로그 삭제
DELETE FROM ban_log;
SQL
복사
해결 시각
~ 2022년 12월 21일 (수요일) 14:40