[
https://issues.apache.org/jira/browse/SUBMARINE-446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Neo Chien reassigned SUBMARINE-446:
-----------------------------------
Assignee: Neo Chien
> Submarine server does not reconnect automatically to MySQL
> ----------------------------------------------------------
>
> Key: SUBMARINE-446
> URL: https://issues.apache.org/jira/browse/SUBMARINE-446
> Project: Apache Submarine
> Issue Type: Bug
> Reporter: Wei-Chiu Chuang
> Assignee: Neo Chien
> Priority: Major
>
> After a few hours, the Submarine server emits the following error message in
> the log:
> {noformat}
> Opening JDBC Connection
> Checked out connection 49237116 from pool.
> Setting autocommit to false on JDBC Connection
> [com.mysql.jdbc.JDBC4Connection@2ef4c7c]
> Resetting autocommit to true on JDBC Connection
> [com.mysql.jdbc.JDBC4Connection@2ef4c7c]
> Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@2ef4c7c]
> Returned connection 49237116 to pool.
> [ERROR] 2020-03-20 22:26:17,724
> method:org.apache.submarine.server.workbench.rest.LoginRestApi.login(LoginRestApi.java:65)
> ### Error querying database. Cause:
> org.apache.ibatis.transaction.TransactionException: Error configuring
> AutoCommit. Your driver may not support getAutoCommit() or setAutoCommit().
> Requested setting: false. Cause:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet
> successfully received from the server was 163,618,589 milliseconds ago. The
> last packet sent successfully to the server was 163,618,589 milliseconds ago.
> is longer than the server configured value of 'wait_timeout'. You should
> consider either expiring and/or testing connection validity before use in
> your application, increasing the server configured values for client
> timeouts, or using the Connector/J connection property 'autoReconnect=true'
> to avoid this problem.
> ### The error may exist in
> org/apache/submarine/database/mappers/SysUserMapper.xml
> ### The error may involve
> org.apache.submarine.server.workbench.database.mappers.SysUserMapper.login
> ### The error occurred while executing a query
> ### Cause: org.apache.ibatis.transaction.TransactionException: Error
> configuring AutoCommit. Your driver may not support getAutoCommit() or
> setAutoCommit(). Requested setting: false. Cause:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet
> successfully received from the server was 163,618,589 milliseconds ago. The
> last packet sent successfully to the server was 163,618,589 milliseconds ago.
> is longer than the server configured value of 'wait_timeout'. You should
> consider either expiring and/or testing connection validity before use in
> your application, increasing the server configured values for client
> timeouts, or using the Connector/J connection property 'autoReconnect=true'
> to avoid this problem.
> org.apache.ibatis.exceptions.PersistenceException:
> ### Error querying database. Cause:
> org.apache.ibatis.transaction.TransactionException: Error configuring
> AutoCommit. Your driver may not support getAutoCommit() or setAutoCommit().
> Requested setting: false. Cause:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet
> successfully received from the server was 163,618,589 milliseconds ago. The
> last packet sent successfully to the server was 163,618,589 milliseconds ago.
> is longer than the server configured value of 'wait_timeout'. You should
> consider either expiring and/or testing connection validity before use in
> your application, increasing the server configured values for client
> timeouts, or using the Connector/J connection property 'autoReconnect=true'
> to avoid this problem.
> ### The error may exist in
> org/apache/submarine/database/mappers/SysUserMapper.xml
> ### The error may involve
> org.apache.submarine.server.workbench.database.mappers.SysUserMapper.login
> ### The error occurred while executing a query
> ### Cause: org.apache.ibatis.transaction.TransactionException: Error
> configuring AutoCommit. Your driver may not support getAutoCommit() or
> setAutoCommit(). Requested setting: false. Cause:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet
> successfully received from the server was 163,618,589 milliseconds ago. The
> last packet sent successfully to the server was 163,618,589 milliseconds ago.
> is longer than the server configured value of 'wait_timeout'. You should
> consider either expiring and/or testing connection validity before use in
> your application, increasing the server configured values for client
> timeouts, or using the Connector/J connection property 'autoReconnect=true'
> to avoid this problem.
> at
> org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
> at
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)
> at
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)
> at
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66)
> at
> org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:68)
> at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)
> at com.sun.proxy.$Proxy42.login(Unknown Source)
> at
> org.apache.submarine.server.workbench.rest.LoginRestApi.login(LoginRestApi.java:61)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> .....
> Caused by: org.apache.ibatis.transaction.TransactionException: Error
> configuring AutoCommit. Your driver may not support getAutoCommit() or
> setAutoCo
> mmit(). Requested setting: false. Cause:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet
> successfully received from the serv
> er was 163,618,589 milliseconds ago. The last packet sent successfully to
> the server was 163,618,589 milliseconds ago. is longer than the server conf
> igured value of 'wait_timeout'. You should consider either expiring and/or
> testing connection validity before use in your application, increasing the
> server configured values for client timeouts, or using the Connector/J
> connection property 'autoReconnect=true' to avoid this problem.
> at
> org.apache.ibatis.transaction.jdbc.JdbcTransaction.setDesiredAutoCommit(JdbcTransaction.java:105)
> at
> org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:138)
> at
> org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:61)
> at
> org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:279)
> at
> org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:72)
> at
> org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:59)
> at
> org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
> at
> org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)
> at
> org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)
> at
> com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:108)
> at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:60)
> at com.sun.proxy.$Proxy41.query(Unknown Source)
> at
> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)
> ... 58 more
> Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last
> packet successfully received from the server was 163,618,589 milliseconds
> ago. The last packet sent successfully to the server was 163,618,589
> milliseconds ago. is longer than the server configured value of
> 'wait_timeout'. You should consider either expiring and/or testing connection
> validity before use in your application, increasing the server configured
> values for client timeouts, or using the Connector/J connection property
> 'autoReconnect=true' to avoid this problem.
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> ...
> Caused by: java.net.SocketException: Broken pipe (Write failed)
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
> at
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
> at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
> at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3721)
> ... 80 more
> {noformat}
> The default JDBC URL has the autoReconnect=true option. Not sure why it still
> doesn't reconnect automatically.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]