본문 바로가기 메뉴 바로가기

Hyo's Dev Log

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Hyo's Dev Log

검색하기 폼
  • 분류 전체보기 (38)
    • Dev Log (7)
    • 디자인 패턴 (3)
    • MySQL (1)
    • RabbitMQ (1)
    • Elasticsearch (2)
    • 아키텍처 (1)
    • Redis (4)
    • Spring (3)
    • Kotlin (2)
    • Java (1)
    • JPA (Hibernate) (4)
    • Tomcat (1)
    • TIL (8)
    • 일기 (0)
  • 방명록

2022/06 (1)
Hikari Connection Pool 에서 Connection 획득할 때, 발생했던 DeadLock 해결

문제 Spring Batch에서 Partitoner를 통해 Step들을 병렬 처리하려고 했었다. 그런데 처음에는 정상적으로 수행이 되다가 어느 시점에 아래와 같은 에러가 발생했다. 병렬 처리를 위한 TaskExecutorPool의 Size는 50으로 설정했었고, DB Connection Pool의 Size는 10으로 설정했었다. 일반적인 상황이라면, 충분히 수행되어야 하는 상황인데도 위와 같은 에러가 발생하게 되었다. 원인 하나의 스레드에서 2개의 DB Connection을 획득하려고 하다 보니 Connection이 부족하게 되었고, 이로 인해 Timout이 발생한 상황이었다. Spring Batch에서 Chunk 지향 처리는 Reader, Processor, Writer라는 3가지 구성 요소를 기반으로..

Dev Log 2022. 6. 15. 13:28
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Github
  • LinkedIn
TAG
more
«   2022/06   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바