Closed menuhwang closed 10 months ago
TaskRejectedException 발생
생성된 스레스풀이 감당해내지 못하는 경우 발생.
너무 많은 매치 조회 API 호출로 인하여 발생.
[2023-11-03 09:31:39.336] ERROR [http-nio-8080-exec-8] c.m.p.e.GlobalExceptionHandler -- Executor [org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor$1@3c4220b9[Running, pool size = 100, active threads = 15, queued tasks = 98, completed tasks = 876]] did not accept task: java.util.concurrent.FutureTask@754e9ba[Not completed, task = com.menu.pubganalyzer.service.PubgService$$Lambda$1996/0x0000000840cbd440@6343a5d7] org.springframework.core.task.TaskRejectedException: Executor [org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor$1@3c4220b9[Running, pool size = 100, active threads = 15, queued tasks = 98, completed tasks = 876]] did not accept task: java.util.concurrent.FutureTask@754e9ba[Not completed, task = com.menu.pubganalyzer.service.PubgService$$Lambda$1996/0x0000000840cbd440@6343a5d7]
스레드풀 사이즈를 늘리는 방식은 하드웨어에 큰 부담이 될 우려가 있음.
비즈니스 로직 자체를 수정하는 방법으로 접근.
조회해야할 매치가 100개 이상인 경우 최근 매치 100개만 조회하도록 수정
버그 설명
TaskRejectedException 발생
생성된 스레스풀이 감당해내지 못하는 경우 발생.
버그 발생 상황
너무 많은 매치 조회 API 호출로 인하여 발생.
에러 로그