RPA Manager오류 원인을 알 수 있을까요?



  • ※ 이 글은 기존에 있었던 문의 사항을 재구성하여 정리한 것입니다.

    RPA 매니저 쪽에 오류가 발생하여, 원인을 알고 싶어 문의 드렸습니다.
    새벽5시 매니저에 예약을 해놨던 작업이 수행되지 않아, 원인을 파악하던 중, 매니저 서버 쪽에 아래와 같은 로그를 확인하였습니다.
    원인을 알 수 있을까요?

    =======================================================================

    2019-08-01 05:00:00 [QuartzScheduler_Worker-2 [server1-85]] ERROR n.g.ttms.scheduler.ScheduledTask [ExecutionJob.java:129] - SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1094];
    --- The error occurred in ibatis/config/config_sql.xml.
    --- The error occurred while applying a parameter map.
    --- Check the config.testKill-InlineParameterMap.
    --- Check the statement (update failed).
    --- Cause: java.sql.SQLException: Unknown thread id: 86207; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
    --- The error occurred in ibatis/config/config_sql.xml.
    --- The error occurred while applying a parameter map.
    --- Check the config.testKill-InlineParameterMap.
    --- Check the statement (update failed).
    --- Cause: java.sql.SQLException: Unknown thread id: 86207
    org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1094];
    --- The error occurred in ibatis/config/config_sql.xml.
    --- The error occurred while applying a parameter map.
    --- Check the config.testKill-InlineParameterMap.
    --- Check the statement (update failed).
    --- Cause: java.sql.SQLException: Unknown thread id: 86207; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
    --- The error occurred in ibatis/config/config_sql.xml.
    --- The error occurred while applying a parameter map.
    --- Check the config.testKill-InlineParameterMap.
    --- Check the statement (update failed).
    --- Cause: java.sql.SQLException: Unknown thread id: 86207
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:197)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:382)
    at kr.co.gridone.util.ExecutionUtil.killDBProcess(ExecutionUtil.java:69)
    at net.gridone.ttms.scheduler.ExecutionJob.ScheduleExecute(ExecutionJob.java:32)
    at net.gridone.ttms.scheduler.ExecutionJob.execute(ExecutionJob.java:25)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
    Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
    --- The error occurred in ibatis/config/config_sql.xml.
    --- The error occurred while applying a parameter map.
    --- Check the config.testKill-InlineParameterMap.
    --- Check the statement (update failed).
    --- Cause: java.sql.SQLException: Unknown thread id: 86207
    at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:457)
    at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90)
    at org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:384)
    at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:194)
    ... 6 common frames omitted
    Caused by: java.sql.SQLException: Unknown thread id: 86207
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1193)
    at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:197)
    at org.apache.commons.dbcp2.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:197)
    at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:80)
    at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
    at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
    ... 10 common frames omitted



  • 조치 방법을 가이드 해드립니다.

    [원인]
    -매니저 내부에서 DB커넥션이 오래 유지될 경우 강제적으로 커넥션을 끊는 부분 실행 중 에러가 발생 하여 예약된 작업을 실행을 하지 못하는 케이스가 발생.

    [패치 방법]
    ( ※ 제우스 폴더 구조 파악이 어려워 Tomcat 기준으로 알려 드립니다.)

    1. WAS 내린다.

    2. 기존 파일을 백업.
      파일 위치: [Tomcat 디렉토리] /webapp/automateone/WEB-INF/classes/kr/co/gridone/util/ExecutionUtil.class

    3. 첨부된 파일을 다운받고, 확장자명을 .class바꾼 뒤 아래의 위치에 추가한다.
      [Tomcat 디렉토리]/webapp/automateone/WEB-INF/classes/kr/co/gridone/util/ExecutionUtil.class

    4. WAS 시작

    ExecutionUtil.aml


Log in to reply