프로그래밍
[업무기록] 20230623 관련 잡다 (Tomcat, MariaDB)
가시가되어
2023. 6. 23. 16:01
MariaDB 키 중복 시 INSERT
: Insert 시 Key 값이 중복이 되면 Duplicate Error 발생된다.
: 이를 조치해야 함.
: 아래 3가지를 이용할 수 있으며, 날짜나 변경되는 필드가 생길 수 있을 땐
ON DUPLICATE KEY UPDATE 를 이용해서 변경되는 필드들을 추가해주자
# INSERT INTO () VALUES 구문 뒤에 삽입
ON DUPLICATE KEY UPDATE
# INSERT 문 옆에 IGNORE를 넣어서 무시
INSERT IGNORE
# INSERT 대신 REPLACE 를 사용하게 되면 키가 중복되면 해당 건을 날리고
# 기존 레코드 삭제 후 새로운 레코드를 삽입 (ID Auto_Increment 인 경우, 변경됨)
REPLACE INTO
[error] Could not set parameters for mapping 부적합한 열 유형:1111
Mybatis 사용 시 에러를 마주쳤다.
넘겨주는 인자 Type이 문제가 있던 걸로 확인되는 데 사유는 대부분 오타 혹은 데이터 타입이 불일치할 경우 생긴다.
HttpClient Close 관련해서 기본적으로 헤더 Keep-Alive 설정에 따라 끊기고 하는 게 다른 듯 하다.
https://okky.kr/questions/460647
ClosableHttpClient 로 변경 시, close 기능을 쓸 수 있다.
Tomcat PermGen-space 에서 OOM
Aws E2C 서버 최소로 사용해서, 그런지 PermGen Space 용량으로 인해 OOM 으로 서버가 다운되어버린다.
아래 해결법으로는 JAVA 8 이상 사용 혹은 Tomcat 의 메모리 증설인데 AWS 최소로 쓰다보니 증설이 필요하거나, 현재 쓰고 있는 API나 기능들에서 메모리를 계속 잡고 있는 게 확인하려고 했고 그게 위의 HttpClient Close 내용이었다.