Skip to content

[HSC-424] user-log admin dispatch 실패건 저장 및 retry 처리 #279

Description

@tkv00

🎟️ 상위 작업 (Ticket Number)

HSC-303

Type (필수)

⚡ perf

Area (필수)

🗂️ area: BE

Priority (필수)

🔥 priority: P0

Team (필수)

Customer Team

📅 시작 날짜

2026-04-01

🏁 종료 날짜

2026-04-01

📝 상세 내용(Description)

  • AbortPolicy 적용 이후 user-log request path는 보호되었지만, adminLogFeatureTaskExecutor 포화 시 rejected가 명시적으로 드러나기 시작했다.
  • 현재는 이 reject가 metric과 로그로만 보이고 실제 복구 가능한 실패건으로 저장되지 않기 때문에, 최종 churn 반영 유실로 그대로 남는다.
  • 이번 이슈의 목적은 reject 및 admin dispatch 실패건을 저장 가능한 구조로 전환하고, scheduler 기반 retry를 통해 실제 member_action_feature 반영률이 얼마나 회복되는지 다시 검증하는 것이다.

핵심 범위는 아래와 같다.

  • user_log_admin_dispatch_outbox 테이블 및 상태값 도입
  • rejected / non_2xx / error 실패건 저장
  • READY -> PROCESSING -> ACKED/RETRY/DEAD 상태 전이 구현
  • FOR UPDATE SKIP LOCKED 기반 claim 및 scheduler retry 구현

✅ 체크리스트(Tasks)

  • user_log_dispatch_status enum 및 user_log_admin_dispatch_outbox 스키마 추가
  • admin dispatch 실패건 저장 로직 추가 (rejected, non_2xx, error)
  • outbox status 전이 및 attempt_count, next_retry_at, last_error 처리
  • FOR UPDATE SKIP LOCKED 기반 retry 대상 claim 쿼리 구현
  • UserLogAdminDispatchSchedulerdispatchReadyBatch() 구현
  • retry 성공/실패 결과에 따른 ACKED, RETRY, DEAD 반영

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Customer Team⚡ perf성능 개선(쿼리/캐시/병목 제거 등)🔥 priority: P0즉시 처리 필요(서비스/데모 블로커)🗂️ area: BE백엔드 영역

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions