사용자 도구

사이트 도구


database:mariadb:jdbc

MariaDB JDBC

Timeout

JDBC URL로 타임아웃 지정

  • connectTimeout=millis
  • socketTimeout=millis
  • max_statement_time sessionVariables=max_statement_time=seconds : connection base Query Timeout

Log

  • log=true|false : Slf4j 필요
  • profileSql=true|false
  • Slf4j 의존성 필요.
  • org.mariadb.jdbc Log Level TRACE 설정필요.
-- logback.xml 
    <logger level="TRACE" name="org.mariadb.jdbc"/>

useSSL=false

  • useBatchMultiSend
  • useBatchMultiSendNumber
  • rewriteBatchedStatements
  • TODO 위 값들 간의 관계 정리.

주의

  • MariaDB JDBC 드라이버 2.2.5 이하 버전에서 replication master/slave 변경시에 write/read 커넥션이 반대로 맺어지는 경우가 있음. 2.2.5 이상 버전 사용할 것.
  • MariaDB JDBC 드라이버 2.2.2 이하 버전에 Connection.isValid() 실행시에 timeout을 지정하지 않는 문제가 있음. 2.2.3 이상 버전을 사용할 것.
    • 2.2.2 이하 버전을 사용할 경우 DB Cluster failover 시에 기존 잘못된 서버로 연결돼 있는 커넥션에 Connection.isValid() 호출이 블록킹 되면서 오랜 시간이 걸리게 됨.
  • Aurora Cluster처럼 DB Clustering 사용시에 무조건 testOnBorrow 혹은 이에 해당하는 DB Connection Pool 설정을 할 것. 그래야 failover가 자연스럽게 이뤄질 수 있음.
database/mariadb/jdbc.txt · 마지막으로 수정됨: 2023/03/21 16:56 저자 kwon37xi