📌 배경
Redis 가 죽으면 구버전 앱 사용자가 전원 강제 로그아웃됩니다. 프론트 세션이 인증 감사에서 찾았습니다.
RedisSingleDataServiceImpl.getSingleData 가 예외를 잡지 않습니다.
- 그래서 Redis 장애 때
common/auth/JwtTokenFilter.java:110-112 의 catch (Exception) 에 걸려 1007 이 나갑니다.
- 구버전 앱은 1007 에서 갱신을 시도하지 않고 바로 토큰을 지우고 로그인 화면으로 갑니다. 게스트 사용자는 계정으로 돌아올 수 없습니다.
🤔 이번 배포로 나빠진 부분
이번 배포로 생긴 문제는 아닙니다. 다만 #300 이 같은 경로에서 사용자 단위 블랙리스트를 확인하면서 Redis 를 한 번 더 읽습니다.
✨ 작업 범위
- 블랙리스트 조회가 실패하면 "블랙리스트 아님" 으로 보고 통과시키는 방향을 검토합니다. 장애 중에 로그아웃된 토큰이 잠시 통과할 수 있다는 것과, 전원 로그아웃 중 어느 쪽이 나은지 판단이 필요합니다.
- 또는 필터에서 Redis 예외를 1007 이 아닌 다른 코드로 내보냅니다. 구버전이 1007 에만 반응하기 때문입니다.
- Redis 장애를 흉내 내는 테스트를 넣습니다.
🙏 전달사항
- 신버전 앱은 프론트에서 재시도 후 토큰을 지키도록 이미 고쳤습니다. 구버전은 서버에서만 막을 수 있습니다.
📌 배경
Redis 가 죽으면 구버전 앱 사용자가 전원 강제 로그아웃됩니다. 프론트 세션이 인증 감사에서 찾았습니다.
RedisSingleDataServiceImpl.getSingleData가 예외를 잡지 않습니다.common/auth/JwtTokenFilter.java:110-112의catch (Exception)에 걸려 1007 이 나갑니다.🤔 이번 배포로 나빠진 부분
이번 배포로 생긴 문제는 아닙니다. 다만 #300 이 같은 경로에서 사용자 단위 블랙리스트를 확인하면서 Redis 를 한 번 더 읽습니다.
✨ 작업 범위
🙏 전달사항