## 상위 Epic #1176 ## 왜 ### 회수 뒤 옛 워커의 늦은 결과가 새 시도를 덮음 - #1256 회수가 집은 지 2분 넘게 처리 중인 요청을 대기로 되돌림 - 그 사이 옛 워커가 살아 있으면 다시 집힌 요청에 옛 워커 결과가 기록됨 - **조건:** 추출 호출 구간(최대 87초) 안에서 서버가 33초 넘게 멈춤 - 옛 워커가 늦게 실패한 경우 - **결과:** 새 시도가 성공해도 카드가 실패로 닫힘 - **결과:** 사용자에게 실패 알림 - 옛 워커가 늦게 성공한 경우 - **결과:** 새 시도 결과가 메트릭 없이 버려짐 - #1256 PR 에 위험으로 기록했던 것 ## 무엇을 ### 결과 기록에 세대 확인 - 집을 때 회수 횟수(`recovery_count`)를 세대값으로 함께 받음 - 파서를 거쳐 결과 기록(성공·실패·대기로 되돌리기)까지 세대값 전달 - 기록할 때 요청이 처리 중이고 회수 횟수가 같을 때만 반영 - 회수가 횟수를 올리므로 회수된 뒤의 옛 워커 결과는 버려짐 - 새 칸 없음 ### 테스트 - 옛 워커와 새 워커가 겹치는 상황을 재현하는 동시성 통합 테스트
Activity