Search
Duplicate

페널티 이후 대여 불가능 - KST / UTC 시차로 인한 만료 이슈

분야
COMMON
ISSUE
주제
BE
심각도
중간😵
제보자
hyeonjun, sung-lee
담당자
작성자
상태
처리 완료
이슈링크(optional)
작성일자
2023/04/15 04:39
공개여부
공개
글감

확인 시각

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