Skip to content

결제 완료 재시도 배치의 실패 항목 고정 방지 #25

Description

@coderabbitai

개요

PaymentBookingCompletionRetryService의 재시도 배치가 실패한 항목에 의해 고정될 수 있는 문제를 처리합니다.

배경

retryPendingBookingCompletions()SUCCESS 결제와 PAYMENT_PENDING 예약을 최대 50건만 조회합니다. 첫 50건의 retryOne 처리가 계속 실패하면, 다음 실행에서도 동일한 항목이 우선 조회될 수 있습니다. 이 경우 51번째 이후의 적격 결제가 처리되지 않습니다.

변경 사항

  • 실패한 재시도 항목이 이후 적격 항목의 처리를 계속 막지 않게 합니다.
  • 재시도 횟수와 다음 재시도 시각을 영속화하거나, 키셋 커서 기반 순회를 적용합니다.
  • 배치 크기 50을 유지합니다.
  • 첫 번째 배치의 항목이 실패해도 51번째 항목을 처리할 수 있음을 검증하는 회귀 테스트를 추가합니다.

영향 범위

  • src/main/java/com/kosa/fillinv/payment/application/PaymentBookingCompletionRetryService.java
  • src/main/java/com/kosa/fillinv/payment/repository/PaymentRepository.java
  • Payment 재시도 관련 엔티티 및 테스트

완료 조건

  • 반복 실패 항목이 모든 실행에서 첫 50건을 독점하지 않습니다.
  • 이후의 적격 SUCCESS Payment와 PAYMENT_PENDING Booking을 처리할 수 있습니다.
  • 첫 50건 실패 시 51번째 항목이 처리되는 회귀 테스트가 통과합니다.

관련 링크

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions