Skip to content

fix: MultipartException 전용 핸들러 추가로 불완전한 멀티파트 요청을 400으로 응답#41

Draft
Jeongho0805 wants to merge 1 commit into
stagefrom
fix/PRACTICKET-57-multipart-exception-bad-request
Draft

fix: MultipartException 전용 핸들러 추가로 불완전한 멀티파트 요청을 400으로 응답#41
Jeongho0805 wants to merge 1 commit into
stagefrom
fix/PRACTICKET-57-multipart-exception-bad-request

Conversation

@Jeongho0805

Copy link
Copy Markdown
Owner

변경 사항

  • GlobalExceptionHandlerMultipartException 전용 핸들러 추가
  • 해당 예외 발생 시 Sentry.captureException() 호출 없이 400 Bad Request로 응답

배경

Sentry 이슈 PRACTICKET-57: POST /practice/ 엔드포인트에서 MultipartException: Failed to parse multipart servlet request (원인: MalformedStreamException: Stream ended unexpectedly)가 28회 발생, 2명의 사용자에게 영향.

클라이언트가 멀티파트 스트림을 전송 도중 연결을 끊거나 불완전한 데이터를 보낼 경우 Spring의 DispatcherServlet.checkMultipart()에서 MultipartException이 발생한다. 기존에는 이 예외를 처리하는 전용 핸들러가 없어 GlobalExceptionHandler의 catch-all handle(Exception e)에 걸리면서 Sentry.captureException()이 명시 호출되어 서버 오류(500)로 보고되었다. 이는 클라이언트 측 원인에 해당하는 4xx 오류임에도 Sentry에 오탐으로 기록되는 문제다.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant