less than 1 minute read

RESTAPI를 통해 학습 평가 요청을하고 콜백을 기다리던 와중에 아래와 같은 에러메세지가 발생하며 요청이 종료되었다.

아래 메사지는 무엇이며 어떻게 해결을 해야할까??

그냥 다음에 해매지 않으려고 이렇게 기록한다.

com.zaxxer.hikari.pool.ProxyConnection - HikariPool-1 - Connection org.mariadb.jdbc.MariaDbConnection@19d3c954 marked as broken because of SQLSTATE(08000), ErrorCode(0)

결론부터 말하자면 현재 mariaDB connection Time 이 hikariCP maxtimeout 보다 짧기 떄문에 생긴 문제이다.

더 자세히 알아보도록 하자

HikariCP 옵션

HikariCP 설정의 시간 단위는 (ms) 이다.

  • autoCommit: auto-commit 설정 (default:true)
  • connectionTimeout: pool에서 커넥션을 얻어오기전까지 기다리는 최대시간, 허용가능한 wait time울 초과하면 SQLException을 던진다. 설정 가능한, 가장 작은 시간은 250ms 디폴트 값은 30s
  • idleTimeout: pool에 일을 안하는 커넥션을 유지하는 시간이다. 이 옵션은 minimumIdle이 maximumPoolSize보다 작게 설정되어 있을 때만 설정한다. pool에서 유지하는 최소 커넥션 수는 (minimumIdle: default=maximumPoolSize(default=10)), idleTimeout 최소값은 10000ms (default는 600000 (10분))

maria time out 설정

SHOW VARIABLES LIKE ‘%timeout’;

connect_timeout	5
delayed_insert_timeout	300
idle_readonly_transaction_timeout	0
idle_transaction_timeout	0
idle_write_transaction_timeout	0
innodb_flush_log_at_timeout	1
innodb_lock_wait_timeout	50
innodb_rollback_on_timeout	OFF
interactive_timeout	28800
lock_wait_timeout	86400
net_read_timeout	30
net_write_timeout	60
rpl_semi_sync_master_timeout	10000
rpl_semi_sync_slave_kill_conn_timeout	5
slave_net_timeout	60
thread_pool_idle_timeout	60
wait_timeout	28800

spring boot hikariCp 설정

public static DataSource createDataSource(DataSourceConfig dataSourceConfig) {
	HikariConfig config = new HikariConfig();
	config.setJdbcUrl(dataSourceConfig.getUrl());
	config.setUsername(dataSourceConfig.getUserName());
	config.setPassword(dataSourceConfig.getPassword());
	config.setDriverClassName(dataSourceConfig.getDriverClassName());
	config.setMinimumIdle(dataSourceConfig.getMinimumIdle());
	config.setMaximumPoolSize(dataSourceConfig.getMaximumPoolSize());

	return new HikariDataSource(config);
}

참고

https://do-hansung.tistory.com/41 https://effectivesquid.tistory.com/entry/HikariCP-%EC%84%B8%ED%8C%85%EC%8B%9C-%EC%98%B5%EC%85%98-%EC%84%A4%EB%AA%85 https://javabom.tistory.com/101

Categories:

Updated:

Comments