MariaDB 에서 인사연동 구동 시, DB 연결이 끊어지고 동작이 중지되는 문제

문의사항

  • MariaDB에서 인사정보 연동 진행 시 Socket 통신 오류로 인한 DB 연결 끊어짐 현상이 발생합니다. (MariaDB 사용 버전 : 10.4.7)
  • 인사연동 시 Error 로그는 아래와 같습니다.

    [ERROR] 20/11/05 09:18:18,654 main - logType : dev.softcamp.swork.spdts.ext.out.standard.method.CustomizedMethod, message : insaDeleteDutyInfo() fail
    com.ibatis.common.jdbc.exception.NestedSQLException:
    --- The error occurred in bundleresource://12.fwk1930925844/dev/softcamp/swork/spdts/ext/out/standard/method/dbms/mariadb//standard_out.xml.
    --- The error occurred while applying a parameter map.
    --- Check the insaDeleteDutyInfo.Param.
    --- Check the statement (update procedure failed).
    --- Cause: java.sql.SQLNonTransientConnectionException: (conn=15) Connection reset
    at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201)
    at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForObject(MappedStatement.java:120)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:529)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:504)
    at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
    at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:82)
    at dev.softcamp.swork.spdts.ext.out.standard.method.dbms.CustomizedDBManager.insaDeleteDutyInfo(CustomizedDBManager.java:483)
    at dev.softcamp.swork.spdts.ext.out.standard.method.CustomizedMethod.insaDeleteDutyInfo(CustomizedMethod.java:1409)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at dev.softcamp.swork.spdts.agent.SPDTSAgent.executeMethod(SPDTSAgent.java:85)
    at dev.softcamp.swork.spdts.agent.SPDTSAgent.run(SPDTSAgent.java:72)

    이하 생략....

 

답변사항

  • 원인은 MariaDB 일부 버전에서 EXIST or NOT EXIST 구문을 쓰면 DB에서 crash 버그가 발생합니다. ( 인사 프로시저에서는 EXIST or NOT EXIST 구문을 많이 사용. )

     - MariaDB 버그 버전 : 10.4 / 10.4.7 / 10.5

  • 조치 방법은 MariaDB 버전을 10.3 이하로 설치하는 것을 권장드립니다.

    (참고) MariaDB 버그 리포트