펜딩 또 터짐.. 진짜 제발 ~ 왜 또 나오는건지 어디서 나오는건지 열심히 조사해본 결과.
일단 가장 의심스러운 곳은 SSE 기능이다. 사용자에게 알림을 전송하기 위해 로그인시 회원은 sse 기능에 구독을 한다. 그 이후 그 구독이 끊어지지 않고 db를 잡고 있어서 이녀석이 임계점에 다다르면 Hikari DeadLock이라는 상황에 빠져 DB 요청이 가는 족족 모든 순간에 pending(보류중)이 뜬다.
그 때 만난 메세지 : jdbc.spi.SqlExceptionHelper : HikariPool-1 - Connection is not available, request timed out after 30000ms. org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction;
음 그래서 어제 서버 사양과 DB의 사양을 올렸으나 아무래도 근본적인 해결책은 아닌 것 같다. 그도 그럴것이 db에 락이 걸리는데 사양을 올린다고 뭐가 되기를 바란 것은 접시에 물떠다놓고 기도메타 들어가는거랑 뭐가 다른건가 싶기도 하고 ㅋㅋ
그래서 일단 우선적으로 적용했던건 스레드 타임을 조절하는 설정을 properties 파일에 추가하는거였다.
이건 결국 근본적인 해결책이 아니었음. 여전히 나타나는 pending. 다음으로 시도해본 Nginx 설정 변경하기
Nginx에 proxy_http_version을 따로 설정하지 않으면 서버에 HTTP/1.0으로 연결을 하게 되는데 이 과정에서 서버측에 메세지를 전송하지 못하면서 문제가 발생할 수 있다고 했다. 그래서 버전을 1.1로 명시해주고 Connection 헤더를 없애주었다.
https://seungtaek-overflow.tistory.com/10
응 이것도 안됨 수고 ~
아몰랑 !!
'T.I.L. :: Today I Learned > 항해99 14기 본과정' 카테고리의 다른 글
Day 66. 일단 Pending은 pending이요 (0) | 2023.06.07 |
---|---|
Day 65. pending............. no way........ (0) | 2023.06.06 |
Day 63. 터지고 또 터지고 또 또 터지고 (1) | 2023.06.04 |
Day 62. 죽지도 않고 또 왔네 CORS, Proxy란? (0) | 2023.06.03 |
Day 61. CORS 잘가 (0) | 2023.06.02 |