Repository navigation
[feat] TRACE-6 Outbox Dispatcher runtime 계측 및 오류 정제 - #258
Conversation
- dispatch, 알림 조회, FCM 전송, 상태 갱신 child span과 결과 속성을 추가 - 처리된 FCM 실패는 자식 span에 정제해 기록하고 기존 상태 전이 및 상위 span 상태를 유지 - JDBC 오류 정제 핸들러 이름을 책임에 맞게 변경하고 tracing 회귀 테스트를 보강 - 검증: gradlew.bat --no-daemon spotlessApply check --console=plain 통과
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PHJ2000
left a comment
There was a problem hiding this comment.
non-blocking : #253은 #254에서 해결됐으니, AC6와 Smoke 테스트 설명에 남아 있는 선행 조건을 제거해 주세요. dev 배포 후 Tempo 검증이 필요하다는 내용만 남기면 될 것 같습니다.
AC6는 그렇다 쳐도 Smoke 테스트 설명에 남아있는 선행 조건은 있어도 어색하지 않다고 봐서 남겨놨습니다. |
- DB 커밋 전 success span 결과와 성공 로그 기록을 지연 - 롤백 시 dispatch span을 error로 기록하고 트랜잭션 완료 후 종료 - 커밋 전 성공 및 롤백 오류 결과 회귀 테스트 추가 - 검증: gradlew.bat --no-daemon spotlessApply check --console=plain
|
수고하셨습니다 |
✨ Feature PR
🔗 이슈 링크 (필수)
🧩 이 PR의 변경사항 (필수)
전체 중 위치
이 PR에서 변경한 것
outbox process아래에outbox dispatchchild span을 만들고 결과 속성을 기록outbox notification lookup,outbox fcm send,outbox state update구간을 child span으로 분리success,skipped(already_sent),retryable_failure,permanent_failure,error로 구분outbox.fcm.outcome, 재시도 결과에outbox.retry.count기록outbox.failure.class와 정제 메시지만 기록하고 원본 예외를 재전파SanitizingQueryTracingObservationHandler를JdbcQueryErrorSanitizingObservationHandler로 이름 변경해 JDBC 전용 책임을 명확화범위에서 제외한 것
outbox processspan의 오류 정제는 기존OutboxTracing구현을 그대로 사용✅ 이 PR이 커버하는 AC (필수)
Covers (이 PR에서 완료)
outbox dispatch,outbox notification lookup,outbox fcm send,outbox state updatespan 생성error.type,outbox.failure.class만 기록)./gradlew test --tests 'com.beachcheck.outbox.*' --tests 'com.beachcheck.global.tracing.*'대상 테스트 보강 및 통과gradlew check통과Not covered (후속 작업)
🧪 테스트 결과 (필수)
로컬
23156171검증 기록)CI
Smoke 테스트
outbox processtrace를 열어 child span과 결과 속성 확인🧭 영향 범위 체크 (필수)
OutboxEventDispatcher가Tracer를 주입받음, 업무 처리 정책은 유지)💬 리뷰 포인트 (필수)
OutboxEventDispatcher의 span 경계와finally종료 처리,sendFcm의 실패 분류,JdbcQueryErrorSanitizingObservationHandler이름 변경 영향outbox.item.outcome의error값과 상위outbox process정제 메시지가 중복 기록으로 보이지 않는지