반응형
실무 개발 및 failover 테스트 중에
Connection Reset by Peer
가 발생하였다. 이 원인은 Client 가 요청을 보냈는데 DB 서버쪽에서 연결이 닫혔다고 다시 연결하라는 RST(Reset) 패킷을 보내는 경우에 이 에러가 발생하며 한쪽만 연결되어 있는 좀비 커넥션 발생이 발생했다는 뜻이다.
datasource:
driver-class-name: org.postgresql.Driver
hikari:
connection-timeout: 2000
maximum-pool-size: 5
max-lifetime: 60000 // connection이 살아있는 최대시간 1분
max-lifetime 설정을 통해 커넥션 시간이 최대로 유지되는 시간을 설정할 수 있으며 위의 설정을 통해 커넥션 맺어진 후 해당 커넥션이 1분이 넘었을 경우에는 자동으로 제거된다.
해당 원인은 알고보니 해당 프로젝트는 QueryMethod + QueryDSL을 함께 쓰고 있었는데
@Bean
fun jpaQueryFactory(entityManager: EntityManagerFactory): JPAQueryFactory {
return JPAQueryFactory(entityManager.createEntityManager())
}
해당 설정을 진행하고 있기 때문이었다. 그 원인에 대한 분석은 다음글에 분석해보자.
반응형
'개발 지식 > JPA' 카테고리의 다른 글
[JPA] EntityManager Cycle management (0) | 2024.10.04 |
---|---|
[JPA] Entity Class의 @NoargsConstructor (access = AccessLevel.PROTECTED) (12) | 2022.02.06 |
[JPA] 프록시(Proxy)와 엔티티 연관 관계(LAZY, EAGER) (0) | 2022.01.31 |
[ETC] javax.persistence.PersistenceException: org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String (0) | 2022.01.31 |
[JPA] JPA가 무엇일까 (0) | 2021.12.26 |
댓글