오류관리 77

Cannot get a connection, pool error Timeout waiting for idle object

JDBC Connection Error 에러 상황 API 응답이 오지 않았는데 잠시 후 다시 시도시 정상 동작 서비스 재시작 후 시도시 응답이 오지 않는 현상 재현 해당 에러가 주로 발생하는 원인 1. hiraki dead lock - connection 이 부족해서 연결하지 못함 2. 설정 문제 - 해당 connection 이 연결됐다가 JVM에 의해 GC되어 connection이 끊어짐 https://wildeveloperetrain.tistory.com/66 Connection is not available, request timed out after 10000ms. 에러의 원인은 프로젝트 중 발생한 에러입니다. 해당 에러는 요청 시 바로 발생하지 않아서 모르고 있다가 개발서버에 올려 테스트하던 중..

오류관리 2022.01.11

Memory capacity of 8388608 bytes for 'range_optimizer_max_mem_size' exceeded. Range optimization was not done for this query.

Memory capacity of 8388608 bytes for 'range_optimizer_max_mem_size' exceeded. Range optimization was not done for this query. 사내 DBA 분이 튜닝해주신 쿼리가 어떤 때에는 속도가 엄청 느렸습니다. Mybatis에서 동적으로 In 절을 만들고 있었는데 In 절에 데이터가 많아지는 경우의 문제였습니다. range_optimizer_max_mem_size 의 값을 확인인하여 값을 변경합니다. range_optimizer_max_mem_size=0 으로 설정하거나 늘릴것을 검토한다. dynamic parameter이며 0으로 설정 시 unlimit을 의미 > SHOW VARIABLES LIKE '%mem%'; ..

오류관리 2021.07.01

[오류관리] MyBatisSystemException Could not set parameters for mapping

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='__frch_item_626', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for param..

오류관리 2021.06.28

[오류관리] IntelliJ에서 Spring Boot 인식 못할 때

오전까지 잘 쓰고 있었는데 다시 프로젝트를 켰더니 갑자기 인식하지 못하는 일이 발생했다. 인텔리제이 설정 문제인 듯하여 .idea 삭제 후 reload 하니 코드 상의 빨간 줄이 없어졌다. 그러나.. JDK를 인식하지 못한다며 Application.java가 실행되지 않았다. jdk 경로도 잘 잡아줬는데 해결되지 않아 git 삭제 후 다시 받았다. Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilter..

오류관리 2021.06.21

Variable used in lambda expression should be final or effectively final

Variable used in lambda expression should be final or effectively final 람다는 새로운 변수 범위를 생성하지 않습니다. 람다 내에서 변수 사용은 둘러싸고 있는 환경의 변수들을 참조합니다. 익명 클래스의 인스턴스가 필요로 하는 변수 정보나 컨텍스트를 복사해서 넘겨주기 때문입니다. 복사해놓는 것은 마음대로 값을 변경하기 위한 목적이 아니라, 외부 stack에서 사라지는 것을 막고 내부에서 접근할 수 있도록 하기 위함입니다. 변경을 하지 못하도록 막은 것은 여러 thread에서 해당 변수가 사용될 때 sync를 맞추기가 어려워지기 때문이죠. https://futurecreator.github.io/2018/08/02/java-lambda-variable-..

오류관리 2021.06.09

org.springframework.transaction.CannotCreateTransactionException

Spring Batch 개별 step 돌릴땐 괜찮은데 전체 step이 돌지 않는다! 첫번째 에러 상황 Caused by: org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(D..

오류관리 2021.04.23
반응형