O0oO0Oo / netty-reservation-service

트랜잭션, 동시성을 공부하기 위한 토이 프로젝트입니다.
0 stars 0 forks source link

fix: unterminated threads during jmeter test #46

Open O0oO0Oo opened 1 week ago

O0oO0Oo commented 1 week ago

버그 설명

image

10,000 의 스레드로 테스트 했을때 간헐적으로 시간이 지나도 종료가 안되는 스레드가 존재한다.

image

테이블을 보면 레코드가 생성되지 않았고, JMeter 에서 강제로 종료했을때 다음과 같은 로그가 발생한다.

reservation-saga-container | 2024-09-07T22:02:51.060Z ERROR 1 --- [rsaga.netty-core] [hread-group-6-0] o.s.r.n.http.handler.ExceptionHandler    : Exception, Connection reset

다음과 같은 상황을 가정할 수 있다.

  1. 요청이 정상적으로 들어왔고, 사가 패턴 단계에서 처리 도중 메시지가 소실되었다
  2. 네트워크에서 패킷 손실이 발생하여, 연결 이후 데이터가 서버로 전달되지 않았다

재현 방법

  1. 스레드가 종료가 안되는 상황이 발생할 때까지 부하 테스트 동시 10,000 요청을 반복한다.
  2. 사가 패턴 시작 부분 요청 수 카운트

예상되는 행동

스크린샷

사용 환경

추가적인 정보