Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DataAccessException leveraging MySql #58

Closed
BPCM opened this issue Jul 28, 2015 · 2 comments
Closed

DataAccessException leveraging MySql #58

BPCM opened this issue Jul 28, 2015 · 2 comments
Assignees
Labels
c: bukkit-imp Affects the Bukkit version. t: bug A malfunction that has to be resolved.
Milestone

Comments

@BPCM
Copy link

BPCM commented Jul 28, 2015

Using version MyWarp v3.0-beta-2+jenkins-b93.git-edd8910,
It seems like MyWarp looses its session if it has not been utilized for a set period of time.

[11:00:38] [Server thread/INFO]: BPCM issued server command: /warp are
[11:00:38] [pool-5-thread-1/WARN]: Exception in thread "pool-5-thread-1" 
[11:00:38] [pool-5-thread-1/WARN]: me.taylorkelly.mywarp.internal.jooq.exception.DataAccessException: SQL [update `mywarp`.`warp` set `mywarp`.`warp`.`visits` = ? where `mywarp`.`warp`.`name` = ?]; The last packet successfully received from the server was 38,659,969 milliseconds ago.  The last packet sent successfully to the server was 38,659,969 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.
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.Utils.translate(Utils.java:1645)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:661)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractQuery.execute(AbstractQuery.java:356)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractDelegatingQuery.execute(AbstractDelegatingQuery.java:133)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.storage.RelationalWarpStorage.updateVisits(RelationalWarpStorage.java:447)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.storage.AsyncWritingWarpStorage$10.run(AsyncWritingWarpStorage.java:154)
[11:00:38] [pool-5-thread-1/WARN]:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[11:00:38] [pool-5-thread-1/WARN]:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[11:00:38] [pool-5-thread-1/WARN]:  at java.lang.Thread.run(Thread.java:745)
[11:00:38] [pool-5-thread-1/WARN]: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 38,659,969 milliseconds ago.  The last packet sent successfully to the server was 38,659,969 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.
[11:00:38] [pool-5-thread-1/WARN]:  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[11:00:38] [pool-5-thread-1/WARN]:  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[11:00:38] [pool-5-thread-1/WARN]:  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[11:00:38] [pool-5-thread-1/WARN]:  at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3348)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1967)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:194)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractQuery.execute(AbstractQuery.java:410)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractDMLQuery.execute(AbstractDMLQuery.java:276)
[11:00:38] [pool-5-thread-1/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractQuery.execute(AbstractQuery.java:342)
[11:00:38] [pool-5-thread-1/WARN]:  ... 6 more
[11:00:38] [pool-5-thread-1/WARN]: Caused by: java.net.SocketException: Broken pipe
[11:00:38] [pool-5-thread-1/WARN]:  at java.net.SocketOutputStream.socketWrite0(Native Method)
[11:00:38] [pool-5-thread-1/WARN]:  at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
[11:00:38] [pool-5-thread-1/WARN]:  at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
[11:00:38] [pool-5-thread-1/WARN]:  at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
[11:00:38] [pool-5-thread-1/WARN]:  at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
[11:00:38] [pool-5-thread-1/WARN]:  at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3329)
[11:00:38] [pool-5-thread-1/WARN]:  ... 15 more

Subsequent warp usages cause throw this exception:

[23:15:02] [Server thread/INFO]: BPCM issued server command: /warp swamp
[23:15:02] [pool-5-thread-2/WARN]: Exception in thread "pool-5-thread-2" 
[23:15:02] [pool-5-thread-2/WARN]: me.taylorkelly.mywarp.internal.jooq.exception.DataAccessException: Error getting connection from data source me.taylorkelly.mywarp.bukkit.util.jdbc.SingleConnectionDataSource@55c15cf2
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.DataSourceConnectionProvider.acquire(DataSourceConnectionProvider.java:89)
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.DefaultExecuteContext.connection(DefaultExecuteContext.java:583)
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractQuery.execute(AbstractQuery.java:311)
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.AbstractDelegatingQuery.execute(AbstractDelegatingQuery.java:133)
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.storage.RelationalWarpStorage.updateVisits(RelationalWarpStorage.java:447)
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.storage.AsyncWritingWarpStorage$10.run(AsyncWritingWarpStorage.java:154)
[23:15:02] [pool-5-thread-2/WARN]:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[23:15:02] [pool-5-thread-2/WARN]:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[23:15:02] [pool-5-thread-2/WARN]:  at java.lang.Thread.run(Thread.java:745)
[23:15:02] [pool-5-thread-2/WARN]: Caused by: java.sql.SQLException: The target connection is closed.
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.bukkit.util.jdbc.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:103)
[23:15:02] [pool-5-thread-2/WARN]:  at me.taylorkelly.mywarp.internal.jooq.impl.DataSourceConnectionProvider.acquire(DataSourceConnectionProvider.java:86)
[23:15:02] [pool-5-thread-2/WARN]:  ... 8 more
@TheE TheE added t: bug A malfunction that has to be resolved. c: bukkit-imp Affects the Bukkit version. labels Jul 28, 2015
@TheE TheE added this to the 3.0 milestone Jul 28, 2015
@TheE TheE self-assigned this Jul 28, 2015
@TheE TheE closed this as completed in c8ef9f3 Jul 28, 2015
@TheE
Copy link
Member

TheE commented Jul 28, 2015

Could you try the latest devBuild? I added some basic validation that should prevent such issues.

While generally the problems could be resolved by changing some properties of the MySQL server (specifically the connection timeout), validating the connection guarantees that MyWarp works as expected.

@BPCM
Copy link
Author

BPCM commented Jul 28, 2015

Thanks; will do. I'll revert back if the issue continues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: bukkit-imp Affects the Bukkit version. t: bug A malfunction that has to be resolved.
Projects
None yet
Development

No branches or pull requests

2 participants