Ошибка MySQL в репозитории Pentaho Data Integration 8.1 (conn: 50787) - PullRequest
0 голосов
/ 05 сентября 2018

Я искал в течение нескольких дней информацию, которая может объяснить, что происходит, но, наконец, не получил представления о том, что происходит.

Получены версии MariaDB 10.0.32 и Pentaho Data Integration 8.1. (PDI в будущем).

MariaDB используется в качестве хранилища PDI, и я могу подключиться без ошибок, проблема возникает, когда я позволяю открыть ее в течение нескольких часов, поэтому я получаю сообщение об ошибке:

> ERROR executing query (conn:50787) Could not send query: Connection reset by peer: socket write error 2018-09-05 10:04:37.714 ERROR
> <Thread-104> []  org.pentaho.di.core.exception.KettleException:  An
> error occured loading the directory tree from the repository
> 
> ERROR executing query (conn:50787) Could not send query: Connection
> reset by peer: socket write error
> 
> 
>   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:1324)
>   at
> org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:704)
>   at org.pentaho.di.job.Job.execute(Job.java:676)     at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:817)  at
> org.pentaho.di.job.Job.execute(Job.java:493)  at
> org.pentaho.di.job.Job.run(Job.java:380) Caused by:
> org.pentaho.di.core.exception.KettleDatabaseException:  ERROR
> executing query (conn:50787) Could not send query: Connection reset by
> peer: socket write error
> 
>   at
> org.pentaho.di.core.database.Database.openQuery(Database.java:1823)
>   at
> org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate$6.call(KettleDatabaseRepositoryConnectionDelegate.java:1599)
>   at
> org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate$6.call(KettleDatabaseRepositoryConnectionDelegate.java:1597)
>   at
> org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.callRead(KettleDatabaseRepositoryConnectionDelegate.java:1992)
>   at
> org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.getIDs(KettleDatabaseRepositoryConnectionDelegate.java:1597)
>   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)
>   ... 16 more Caused by: java.sql.SQLNonTransientConnectionException:
> (conn:50787) Could not send query: Connection reset by peer: socket
> write error   at
> org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:156)
>   at
> org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:118)
>   at
> org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:250)
>   at
> org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:224)
>   at
> org.mariadb.jdbc.MariaDbPreparedStatementClient.execute(MariaDbPreparedStatementClient.java:159)
>   at
> org.mariadb.jdbc.MariaDbPreparedStatementClient.executeQuery(MariaDbPreparedStatementClient.java:173)
>   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:1811)
>   ... 23 more Caused by: java.sql.SQLException: Could not send query:
> Connection reset by peer: socket write error  at
> org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.handleIoException(AbstractQueryProtocol.java:1726)
>   at
> org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:223)
>   at
> org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:218)
>   ... 28 more Caused by: java.net.SocketException: Connection reset by
> peer: socket write error  at
> java.net.SocketOutputStream.socketWrite0(Native Method)   at
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
>   at java.net.SocketOutputStream.write(SocketOutputStream.java:155)   at
> org.mariadb.jdbc.internal.io.output.StandardPacketOutputStream.flushBuffer(StandardPacketOutputStream.java:107)
>   at
> org.mariadb.jdbc.internal.io.output.AbstractPacketOutputStream.flush(AbstractPacketOutputStream.java:175)
>   at
> org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:216)
>   ... 29 more

Это мой репозиторий. Пример XML:

> <?xml version="1.0" encoding="UTF-8"?>
> <repositories>   <connection>
>     <name>DESA</name>
>     <server>SERVER1</server>
>     <type>MARIADB</type>
>     <access>Native</access>
>     <database>DBNAME1</database>
>     <port>3306</port>
>     <username>UNAME</username>
>     <password>Encrypted PWD</password>
>     <servername/>
>     <data_tablespace/>
>     <index_tablespace/>
>     <attributes>
>       <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
>       <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
>       <attribute><code>INITIAL_POOL_SIZE</code><attribute>1</attribute></attribute>
>       <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
>       <attribute><code>MAXIMUM_POOL_SIZE</code><attribute>2</attribute></attribute>
>       <attribute><code>POOLING_maxIdle</code><attribute>2</attribute></attribute>
>       <attribute><code>POOLING_testOnBorrow</code><attribute>true</attribute></attribute>
>       <attribute><code>POOLING_testOnReturn</code><attribute>true</attribute></attribute>
>       <attribute><code>POOLING_testWhileIdle</code><attribute>true</attribute></attribute>
>       <attribute><code>POOLING_timeBetweenEvictionRunsMillis</code><attribute>30000</attribute></attribute>
>       <attribute><code>POOLING_validationQuery</code><attribute>SELECT 1 AS dbcp_connection_test;</attribute></attribute>
>       <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
>       <attribute><code>PREFERRED_SCHEMA_NAME</code><attribute>pdi</attribute></attribute>
>       <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>Y</attribute></attribute>
>       <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
>       <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
>       <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
>       <attribute><code>USE_POOLING</code><attribute>Y</attribute></attribute>
>     </attributes>   </connection>
>     <name>DESARROLLO</name>
>     <description>Database repository Desarrollo</description>
>     <is_default>true</is_default>
>     <connection>DESA</connection>   </repository>  </repositories>

Я использую MariaDB jdbc "mariadb-java-client-2.1.0.jar".

Я попытался изменить wait_timeout на MariaDB my.cnf, но безуспешно.

Кто-то может помочь мне понять, почему я получаю эти ошибки записи в сокет и как я могу это исправить?

Спасибо заранее.

...