Skip to content

fix: 음수 Redis 재고 상태에서 보정 연기#228

Merged
Ji-minhyeok merged 1 commit into
developfrom
Fix/#221/negative-stock-reconciliation
Apr 27, 2026
Merged

fix: 음수 Redis 재고 상태에서 보정 연기#228
Ji-minhyeok merged 1 commit into
developfrom
Fix/#221/negative-stock-reconciliation

Conversation

@Ji-minhyeok
Copy link
Copy Markdown
Collaborator

🚀 작업 개요

Redis 선착순 필터의 DECR -> INCR rollback 구간과 보정 스케줄러의 setStock()이 충돌하지 않도록 Redis 재고가 음수인 경우 보정을 연기하도록 수정했습니다.

🛠️ 작업 내용

음수 Redis 재고 보정 차단

  • 보정 직전 lesson:stock:{lessonId} 값을 확인
  • Redis 재고가 음수라면 producer의 초과 요청 reject rollback이 진행 중인 상태로 보고 해당 레슨 보정을 건너뜀
  • Redis 재고 값이 숫자로 파싱되지 않는 경우에도 상태를 신뢰할 수 없으므로 보정을 연기

✅ PR 유형

  • 버그 수정
  • 성능 개선
  • 새로운 기능 추가
  • 코드 리팩토링
  • 파일 혹은 폴더명 수정
  • 문서 수정
  • 설정 변경

✅ Check List

  • 코드가 정상적으로 컴파일되나요?
  • 테스트 코드를 통과했나요?
  • merge할 브랜치의 위치를 확인했나요?
  • Label을 지정했나요?

🔗 관련 이슈

#221

💬 기타 참고 사항

  • Producer는 선착순 필터에서 DECR 후 음수면 INCR로 롤백
  • 고부하 상황에서는 Redis stock이 짧게 음수가 될 수 있음
  • 이 시점에 보정 스케줄러가 setStock(0)을 수행하면, 이후 남은 rollback INCR이 stock을 양수로 열어 초과 신청을 허용하는 상황 발생

@Ji-minhyeok Ji-minhyeok merged commit e00377d into develop Apr 27, 2026
1 check passed
@Ji-minhyeok Ji-minhyeok deleted the Fix/#221/negative-stock-reconciliation branch April 27, 2026 13:59
@Ji-minhyeok Ji-minhyeok added the bug Something isn't working label Apr 29, 2026
@Ji-minhyeok Ji-minhyeok self-assigned this Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant