데이터베이스/MYSQL
-
MySQL datetime의 시간 반올림데이터베이스/MYSQL 2024. 6. 6. 02:29
최근 데이터 생성 api를 호출하고 조회 api를 호출하였을때, false로 반환되어야 하는 반환값이 true로 반환되고 있는 문제가 발생했다. 문제상황해당 반환값은 LocalDateTime의 데이터를 주어진 시점(LocalDateTime)과 비교하여, 현재시점 이후라면, true를 이전이라면 false를 반환하도록 로직이 구현되어있었다. 예시 코드는 다음과 같다. @Entityclass Test ( @Column(columnDefinition = "datetime(6)") val time: LocalDateTime) : BaseEntity() { fun isAfter() = time.isAfter(LocalDateTime.now())} 분명 데이터를 생성하는 시점에 Loca..
-
mysql datetime과 timestamp의 차이데이터베이스/MYSQL 2023. 10. 31. 00:41
datetime과 timestamp는 모두 날짜와 시간을 저장하는 mysql의 데이터 타입이지만 차이점이 존재한다. datetime timestamp 데이터 날짜와 시간을 함께 저장 기본 포맷 ‘YYYY-MM-DD HH:mm:ss’ ‘YYYY-MM-DD HH:mm:ss(.FFFFFF)’ 범위 ‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’ ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-19 03:14:07’ UTC 특징 시스템의 TIME_ZONE과 관계없이 절대적인 값이 저장 시스템의 TIME_ZONE에 의존하여 값이 변경됨 저장 형태 문자형 숫자형 (1970년 1월 1일 기준으로 지난 초단위 시간) 저장 공간 8bytes 4bytes 필드 NOT N..
-
HikariPool- Failed to validate connection warning 해결하기데이터베이스/MYSQL 2023. 7. 15. 17:24
운영하는 서비스에서 30분 간격으로 HikariPool- Failed to validate connection warning 오류가 발생했다. 문제 상황 운영환경에서는 datadog에서 5분동안 warn 이나 error 로그가 10개 이상 발생하면 슬랙을 이용해서 오류 메세지를 보내도록 설정해두었는데, 동일한 warning이 resolve 후에도 30분 간격으로 발생해 오류 alert가 발생하고 있었다. data dog에서 확인해보니 오류 메세지는 다음과 같았다. HikariPool-1 - Failed to validate connection software.aws.rds.jdbc.mysql.shading.com.mysql.cj.jdbc.ConnectionImpl@5f4fcf76 (The active S..