fix: SSE 클라이언트 연결 해제 시 재활용된 response로 인한 IllegalStateException 처리#40
Draft
Jeongho0805 wants to merge 1 commit into
Draft
fix: SSE 클라이언트 연결 해제 시 재활용된 response로 인한 IllegalStateException 처리#40Jeongho0805 wants to merge 1 commit into
Jeongho0805 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경 사항
TicketQueueService.sendQueueInfoToClient()의 catch 블록에IllegalStateException추가 (IOException | IllegalStateException)배경
Sentry 이슈 PRACTICKET-59:
broadcastQueueInfo스케줄러가 1초마다 모든 SSE 에미터에 대기열 정보를 전송할 때, 클라이언트가 연결을 끊으면 Tomcat이 response 객체를 재활용(recycle)한다. 이 상태에서emitter.send()를 호출하면IllegalStateException: The response object has been recycled and is no longer associated with this facade가 발생한다. 기존 코드는IOException만 catch하고 있어IllegalStateException이 uncaught 예외로 전파되어 Sentry에 6회 리포트됐다. catch 범위를 넓혀 연결이 끊긴 에미터를 정상적으로 제거한다.