Skip to content

fix: 실패율 초과 FAILED 이력에 신규/변경/누락/실패 건수가 기록되지 않음 - #219

Merged
sjungwon03 merged 1 commit into
devfrom
fix/205-batch-failure-counts
Jul 24, 2026
Merged

fix: 실패율 초과 FAILED 이력에 신규/변경/누락/실패 건수가 기록되지 않음#219
sjungwon03 merged 1 commit into
devfrom
fix/205-batch-failure-counts

Conversation

@sjungwon03

Copy link
Copy Markdown
Member

변경 내용

  • PolicyBatchHistory에 카운트를 함께 기록하는 fail(String message, int newCount, int updatedCount, int unchangedCount, int missingCount, int errorCount) 오버로드를 추가했다. 기존 fail(String message)는 원인 불명 조기 실패용(예: API fetch 자체 실패)으로 그대로 유지한다.
  • PolicySyncService.doRunFullSync()의 실패율(10%) 초과 분기에서 이미 계산되어 있던 writeResult.newCount()/updatedCount()/errorCount(), plan.unchangedCount(), missingMarked를 새 fail(...) 오버로드로 넘기도록 수정했다. 실패율 초과로 FAILED 처리돼도 실제 처리 건수가 더 이상 버려지지 않는다.
  • 메시지 길이 제한(1000자) 로직은 두 오버로드가 공유하도록 truncate(...) private 헬퍼로 추출했다.

검증

  • export JAVA_HOME="$HOME/.sdkman/candidates/java/21.0.10-tem" 설정 후 실행
  • ./gradlew test --tests "com.bop.youthpick.sync.*" — 통과 (PolicyBatchHistoryTest 7개, PolicySyncServiceTest 10개, 모두 성공)
  • ./gradlew test — 전체 테스트 BUILD SUCCESSFUL
  • ./gradlew spotlessApply 실행 후 ./gradlew spotlessCheck — BUILD SUCCESSFUL

추가한 테스트

  • PolicyBatchHistoryTest
    • 카운트를_포함한_fail은_FAILED_상태와_함께_신규_변경_유지_누락_실패_건수를_기록한다
    • 카운트를_포함한_fail도_실패_메시지가_컬럼_한도를_넘으면_잘라서_기록한다
  • PolicySyncServiceTest
    • 기존 실패율이_10퍼센트를_넘으면_크래시_없이_실패_사유를_기록한다에 신규/변경/유지/누락/실패 카운트 검증 추가 (기존 8건 성공 + 2건 실패 시나리오)
    • 실패율_초과로_전량_실패해도_실패_건수가_이력에_그대로_기록된다 — 이슈에서 언급된 "12건 모두 저장 실패" 케이스를 그대로 재현해 errorCount == 12, 나머지 카운트는 0으로 정확히 기록되는지 검증

연결 이슈

Closes #205

PolicyBatchHistory.fail(String)이 카운트를 건드리지 않아 실패율 초과로
FAILED 처리된 회차가 관리자 배치 로그 화면에 항상 0/0/0/0으로 보였다.
카운트를 함께 받는 fail(...) 오버로드를 추가하고, PolicySyncService의
실패율 초과 분기에서 실제 집계값을 넘기도록 수정한다.

Closes #205
@sjungwon03 sjungwon03 added the fix 오류 수정 label Jul 24, 2026
@sjungwon03 sjungwon03 self-assigned this Jul 24, 2026
@kilo-code-bot

kilo-code-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (4 files)
  • src/main/java/com/bop/youthpick/sync/entity/PolicyBatchHistory.java
  • src/main/java/com/bop/youthpick/sync/service/PolicySyncService.java
  • src/test/java/com/bop/youthpick/sync/entity/PolicyBatchHistoryTest.java
  • src/test/java/com/bop/youthpick/sync/service/PolicySyncServiceTest.java

Reviewed by step-3.7-flash · Input: 49.3K · Output: 5.3K · Cached: 199.6K

@sjungwon03
sjungwon03 requested a review from myh7754 July 24, 2026 08:29
@sjungwon03
sjungwon03 merged commit 7ed93e2 into dev Jul 24, 2026
2 checks passed
@sjungwon03
sjungwon03 deleted the fix/205-batch-failure-counts branch July 24, 2026 08:29
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: 정책 수집 실패율 초과 FAILED 이력에 신규/변경/누락/실패 건수가 기록되지 않음

2 participants