문제 상황
•
어떤 것을 하려다가 문제가 발생했는가?
공유 사물함 반납일이라서 반납 후 재등록 하려는데 위와 같은 에러가 발생
두명 사용(만료 X - 2/3)
누군가 신청했다가 나갔음(만료 설정 - 3/3 -> 2/3)
기존에 있던 둘 중에 한명이 나감(1/3)
나갔던 한명이 1 ~ 2주 다른 사물함(개인) 사용하다가 반납 후에 다시 들어옴 (2/3)
반납일자 안내 메일을 받고 반납을 했음(1(나갔던 한명)/3)
이 때, 남은 한 분은 남아 계셨던 상황
다시 등록하려고하는데 에러메시지가 떴음.
set_expire_available인 공유 사물함에서, 1명에서 2명이 될 때 2번째로 들어온 사람의 expire_time이 9999-12-30으로 찍힘.
원인
•
추정되는 원인
1.
최초 3명이 모였을 때 모두에게 만료시간이 설정이 안 됐다.
2.
세 명이 모여서 쓰고 있다가 중간에 한 명이 반납을 하고, 새로운 유저가 대여 했을 때, 이 유저의 만료시간이 설정이 안 됐다.
•
실제 원인
1. lentComponent에서 lent로 transition하는 메서드에서, 대여를 진행하고, 꽉 차는 경우에 대한 expire를 설정해주는 로직은 있었으나, 그 이외의 경우(1 → 2명과 같은 경우)에 대한 처리가 없었다.
최종 해결
•
최종 해결을 위한 시행착오(optional)
◦
임시로 재대여 처리
◦
3명이서 인간 디버깅으로 문제 상황을 재구현해보면서 DataGrip으로 문제 상황을 파악했다.
◦
공유 사물함에서 시뮬레이션을 하면서 진행해야 했으므로, Dev EC2에서 별도의 브랜치를 이용하여 코드를 수정 - 빌드 - 리로드 하면서 디버깅을 진행했다.
•
해결방법
비어 있는 코드 로직을 추가하였다.