1

我有一个使用mariadb 服务器的 java 应用程序。从 java 中,drizzle jdbc用于连接 mariadb 服务器。有时,我得到一个错误,破管子

我不知道为什么会发生此错误,其根本原因。

我正在使用 ubuntu12.04、最新的 drizzle jdbc 驱动程序(1.2)和 mariadb 5.5.29。

请查看错误日志:

java.sql.SQLNonTransientConnectionException:无法 ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:950) 的 org.drizzle.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:97) 的管道损坏

-------------------------------------------------- ------------------------- 在 org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:298) 在 java。 util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java: 166) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266) 在 java.util.concurrent.ThreadPoolExecutor 的 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)。 runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) 原因:org.drizzle.jdbc .internal.common.QueryException:无法ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948)的org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424)的管道损坏... 14 更多原因:java.net.SocketException:在 java.net.SocketOutputStream 的 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 的 java.net.SocketOutputStream.socketWrite0(Native Method) 的管道损坏。 write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql.packet .commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多无法 ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) 的 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424) 的管道损坏 ... 14 更多通过: java.net.SocketException:在 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 在 java.net.SocketOutputStream.write(SocketOutputStream.java: 153) 在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send (MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多无法 ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) 的 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424) 的管道损坏 ... 14 更多通过: java.net.SocketException:在 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 在 java.net.SocketOutputStream.write(SocketOutputStream.java: 153) 在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send (MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多mysql.MySQLProtocol.ping(MySQLProtocol.java:424) at org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) ... 14 更多原因:java.net.SocketException:java.net 的管道损坏。 SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal .mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多mysql.MySQLProtocol.ping(MySQLProtocol.java:424) at org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) ... 14 更多原因:java.net.SocketException:java.net 的管道损坏。 SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal .mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多948)... 14 更多原因:java.net.SocketException:java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 的 java.net.SocketOutputStream.socketWrite0(Native Method) 的管道损坏。 SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql .packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多948)... 14 更多原因:java.net.SocketException:java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 的 java.net.SocketOutputStream.socketWrite0(Native Method) 的管道损坏。 SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql .packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql.packet .commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql.packet .commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多

有人可以帮我吗?

4

1 回答 1

0

上述错误已在 github 中报告并修复:https ://github.com/krummas/DrizzleJDBC/issues/17

于 2013-04-22T05:02:07.647 回答