티스토리 뷰

2018-12-30 ~ 2018-12-31 의 데이터가 보이지 않는다는 문의가 다수 인입됨.

 

DB 를 확인해보니

2018-12-30 로 저장되어야 하는 데이터가 2019-12-30

2018-12-31 로 저장되어야 하는 데이터가 2019-21-31 로 저장되어 버려서 해당일의 통계 데이터가 노출되지 않았다.

 

날짜가 잘못 저장된 이유.

 

BEFORE

private static DateTimeFormatter dtf = DateTimeFormatter.ofPattern("YYYYMMddHHmmss");

 

AFTER

private static DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");

 

DateTimeFormatter.ofPattern() 메서드를 이용해서 LocalDateTime → String 로 타입을 변경하였는데

이때 패턴을 "YYYYMMddHHmmss" 를 사용하게 되면 Week year 를 사용하게 되어 해당 주의 년도를 YYYY 로 사용하게 된다.

즉, 2018-12-30 이 있는 주의 년도는 2019 이므로 2019-12-30 으로 변환/저장 된것이다.

 

배포하여 더 이상 발생하는것은 막았지만 이미 저장되어있는 300만건에 대해서 데이터 보정이 필요했다.

 

 

배치를 생성하여 데이터 보정완료.

 

데이터 보정 코드 리뷰 당시에 로직을 최소화하라는 리뷰를 해주셨다!!!!!!!!!!

 

복잡한 로직이 또 다른 데이터 오류를 발생시킬 수 있으므로!

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함