Skip to content

#401 [Fix] FCM 만료된 디바이스 토큰이 정리되지 않아 반복 발송 실패 로그가 쌓이는 문제 수정 - #402

Merged
si-zero merged 1 commit into
devfrom
fix/#401
Aug 17, 2026
Merged

#401 [Fix] FCM 만료된 디바이스 토큰이 정리되지 않아 반복 발송 실패 로그가 쌓이는 문제 수정#402
si-zero merged 1 commit into
devfrom
fix/#401

Conversation

@si-zero

@si-zero si-zero commented Aug 17, 2026

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

🐛 Fix

내용 파일
FCM 응답이 UNREGISTERED(등록 해제된 토큰)일 때 UserDeviceRepository.deleteById로 디바이스 자동 정리 (ApnsPushService와 동일한 패턴) FcmPushService.java

📌 공유 사항

  1. 매일 19시 예약 브로드캐스트 알림 발송 시 죽은 FCM 토큰 때문에 대량 실패 로그가 반복 발생하던 문제를 해결합니다.
  2. UNREGISTERED가 아닌 다른 에러(UNAVAILABLE 등 일시적 오류)는 디바이스를 삭제하지 않도록 구분했습니다.

✅ 체크리스트

  • Reviewer에 팀원들을 선택했나요?
  • Assignees에 본인을 선택했나요?
  • 컨벤션에 맞는 Type을 선택했나요?
  • Development에 이슈를 연동했나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요?
  • 컨벤션을 지키고 있나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • 팀원들에게 PR 링크 공유를 했나요?

📸 스크린샷

FcmPushServiceTest에 UNREGISTERED일 때 디바이스 삭제, 그 외 에러 코드일 때는 삭제하지 않는 케이스를 추가해 검증 완료 (3개 테스트 통과).

💬 리뷰 요구사항

  1. ApnsPushService의 정리 대상 reason 목록(BadDeviceToken, Unregistered, DeviceTokenNotForTopic)처럼 FCM도 INVALID_ARGUMENT 등 다른 코드까지 정리 대상에 포함할지 검토 부탁드립니다. 이번엔 확실한 UNREGISTERED만 우선 반영했습니다.

@si-zero si-zero self-assigned this Aug 17, 2026
@si-zero si-zero added the 🐛 Fix (버그 수정) 버그를 수정할 때 사용합니다. label Aug 17, 2026
@si-zero
si-zero merged commit 1fc8488 into dev Aug 17, 2026
1 check passed
@si-zero
si-zero deleted the fix/#401 branch August 17, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 Fix (버그 수정) 버그를 수정할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 Fix: FCM 만료된 디바이스 토큰이 정리되지 않아 반복 발송 실패 로그가 쌓이는 문제 수정

1 participant