You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WaitingService.registerWaiting() 메서드에서 Redis 카운터(incrementAndCheckWaitingLimit, incrementDailySequence)가 데이터베이스 저장 전에 증가되는데, DB 저장이 실패할 경우 이미 증가된 Redis 값이 롤백되지 않아 데이터 불일치가 발생합니다.
현재 동작
Redis 카운터 증가 (incrementAndCheckWaitingLimit, incrementDailySequence)
Reservation 엔티티 생성 및 저장
DB 저장 실패 시 Redis 변경사항이 롤백되지 않음
영향
사용자별 일일 웨이팅 제한 카운터가 실제보다 높게 유지됨
일일 시퀀스 번호가 누락되어 웨이팅 번호에 gaps 발생
권장 해결 방안
Lua 스크립트를 통한 원자적 작업 구현 (ReservationService의 WaitingPermitLuaRepository 참고)
Activity