fix(batch): 자동 재수집 파라미터 오버플로우 수정 및 실패 레코드 관리 개선 #38

병합
HYOJIN fix/auto-retry-parameter-overflow 에서 develop 로 2 commits 를 머지했습니다 2026-03-12 16:07:11 +09:00
소유자

변경 사항

  • 자동 재수집 JobParameter 오버플로우 수정 (retryRecordKeys → DB 직접 조회)
  • retryCount 세마틱 수정 (0부터 시작, 재수집 실패 시 +1)
  • 실패 레코드 Upsert 패턴으로 중복 방지 (동일 키 1건만 유지)
  • 동기 저장으로 RECOLLECT 타이밍 경합 해결
  • 재시도 초과 레코드 초기화 API/UI 추가
  • 재시도 상태 배지 표시 (대기/재시도 N/3/재시도 초과)
  • 실행 확인 모달 시작/종료일시 항목 제거

변경 파일 (12개)

백엔드

  • AutoRetryTriggerService — retryRecordKeys 파라미터 제거
  • AutoRetryJobExecutionListener — 실패 키 문자열 대신 건수만 전달
  • BatchFailedRecordRepository — DB 조회/Upsert/초기화 쿼리 추가
  • BatchFailedRecordService — Upsert 로직 + 동기/비동기 분리 + 초기화 메서드
  • ShipDetailUpdateJobConfig — DB에서 실패 키 조회, executionMode 기반 Decider
  • ShipDetailUpdateDataReader — 동기 저장 호출 + 테스트용 60건 제한
  • BatchControllerPOST /failed-records/reset-retry 엔드포인트 추가

프론트엔드

  • batchApi.ts — resetRetryCount API 함수 추가
  • ExecutionDetail.tsx / RecollectDetail.tsx — 재시도 상태 배지 + 초기화 버튼/다이얼로그
  • Jobs.tsx — 실행 확인 모달 날짜 입력 필드 제거

문서

  • recollection-process.md — 변경된 흐름 반영 + 실패 레코드 관리 섹션 추가
  • RELEASE-NOTES.md — [Unreleased] 항목 추가

테스트

  • 빌드 성공 확인
  • 자동 재수집 정상 동작 확인
  • 재시도 초기화 후 자동 재수집 재개 확인
  • 실패 레코드 중복 방지 확인
## 변경 사항 - 자동 재수집 JobParameter 오버플로우 수정 (retryRecordKeys → DB 직접 조회) - retryCount 세마틱 수정 (0부터 시작, 재수집 실패 시 +1) - 실패 레코드 Upsert 패턴으로 중복 방지 (동일 키 1건만 유지) - 동기 저장으로 RECOLLECT 타이밍 경합 해결 - 재시도 초과 레코드 초기화 API/UI 추가 - 재시도 상태 배지 표시 (대기/재시도 N/3/재시도 초과) - 실행 확인 모달 시작/종료일시 항목 제거 ## 변경 파일 (12개) ### 백엔드 - `AutoRetryTriggerService` — retryRecordKeys 파라미터 제거 - `AutoRetryJobExecutionListener` — 실패 키 문자열 대신 건수만 전달 - `BatchFailedRecordRepository` — DB 조회/Upsert/초기화 쿼리 추가 - `BatchFailedRecordService` — Upsert 로직 + 동기/비동기 분리 + 초기화 메서드 - `ShipDetailUpdateJobConfig` — DB에서 실패 키 조회, executionMode 기반 Decider - `ShipDetailUpdateDataReader` — 동기 저장 호출 + 테스트용 60건 제한 - `BatchController` — `POST /failed-records/reset-retry` 엔드포인트 추가 ### 프론트엔드 - `batchApi.ts` — resetRetryCount API 함수 추가 - `ExecutionDetail.tsx` / `RecollectDetail.tsx` — 재시도 상태 배지 + 초기화 버튼/다이얼로그 - `Jobs.tsx` — 실행 확인 모달 날짜 입력 필드 제거 ### 문서 - `recollection-process.md` — 변경된 흐름 반영 + 실패 레코드 관리 섹션 추가 - `RELEASE-NOTES.md` — [Unreleased] 항목 추가 ## 테스트 - [x] 빌드 성공 확인 - [x] 자동 재수집 정상 동작 확인 - [x] 재시도 초기화 후 자동 재수집 재개 확인 - [x] 실패 레코드 중복 방지 확인
HYOJIN added 2 commits 2026-03-12 16:05:02 +09:00
- retryRecordKeys JobParameter 제거 → DB 직접 조회 (VARCHAR 2500 제한 해결)
- retryCount 세마틱 수정 (0부터 시작, 재수집 실패 시 +1)
- 실패 레코드 Upsert로 중복 방지 (동일 키 1건만 유지)
- 동기 저장으로 RECOLLECT 타이밍 경합 해결
- 재시도 초과 레코드 초기화 API/UI 추가
- 실행 확인 모달 시작/종료일시 항목 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
claude-bot 이 변경사항을 승인하였습니다. 2026-03-12 16:07:01 +09:00
claude-bot left a comment
멤버

MR 승인 (via /mr skill)

MR 승인 (via /mr skill)
HYOJIN merged commit 9a211433ad into develop 2026-03-12 16:07:11 +09:00
HYOJIN 삭제된 브랜치 fix/auto-retry-parameter-overflow 2026-03-12 16:07:11 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/snp-batch-validation#38
No description provided.