使用的是kettle7,资源库用的是MySQL5。
kettle通过JDBC连接池连接数据库。
每天执行一次调度,偶尔会报下面的错误:
ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : org.pentaho.di.core.exception.KettleException:
Unexpected error during transformation metadata load
An error occured loading the directory tree from the repository
ERROR executing query
(conn=5401016) unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
at org.pentaho.di.job.entries.trans.JobEntryTrans.getTransMeta(JobEntryTrans.java:1351)
at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:681)
at org.pentaho.di.job.Job.execute(Job.java:724)
at org.pentaho.di.job.Job.execute(Job.java:865)
at org.pentaho.di.job.Job.execute(Job.java:865)
at org.pentaho.di.job.Job.execute(Job.java:865)
at org.pentaho.di.job.Job.execute(Job.java:546)
at org.pentaho.di.job.Job.run(Job.java:436)
Caused by: org.pentaho.di.core.exception.KettleException:
An error occured loading the directory tree from the repository
ERROR executing query
(conn=5401016) unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.loadRepositoryDirectoryTree(KettleDatabaseRepositoryDirectoryDelegate.java:108)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.loadRepositoryDirectoryTree(KettleDatabaseRepository.java:608)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.findDirectory(KettleDatabaseRepository.java:620)
at org.pentaho.di.job.entries.trans.JobEntryTrans.getTransMeta(JobEntryTrans.java:1301)
... 7 more
Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
ERROR executing query
(conn=5401016) unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
at org.pentaho.di.core.database.Database.openQuery(Database.java:1824)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.getIDs(KettleDatabaseRepositoryConnectionDelegate.java:1573)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.getSubDirectoryIDs(KettleDatabaseRepositoryDirectoryDelegate.java:290)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.getSubDirectoryIDs(KettleDatabaseRepository.java:684)
at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.loadRepositoryDirectoryTree(KettleDatabaseRepositoryDirectoryDelegate.java:98)
... 10 more
Caused by: java.sql.SQLNonTransientConnectionException: (conn=5401016) unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:260)
at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:164)
at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:258)
at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:225)
at org.mariadb.jdbc.ClientSidePreparedStatement.execute(ClientSidePreparedStatement.java:145)
at org.mariadb.jdbc.ClientSidePreparedStatement.executeQuery(ClientSidePreparedStatement.java:159)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.pentaho.di.core.database.Database.openQuery(Database.java:1812)
... 14 more
Caused by: java.sql.SQLNonTransientConnectionException: unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.handleIoException(AbstractQueryProtocol.java:1941)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1445)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1424)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:240)
at org.mariadb.jdbc.ClientSidePreparedStatement.executeInternal(ClientSidePreparedStatement.java:216)
... 19 more
Caused by: java.io.EOFException: unexpected end of stream, read 0 bytes from 7 (socket was closed by server)
at org.mariadb.jdbc.internal.io.input.DecompressPacketInputStream.readBlocking(DecompressPacketInputStream.java:194)
at org.mariadb.jdbc.internal.io.input.DecompressPacketInputStream.getPacketArray(DecompressPacketInputStream.java:111)
at org.mariadb.jdbc.internal.io.input.DecompressPacketInputStream.getPacket(DecompressPacketInputStream.java:91)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1443)
... 22 more