Mariadb serverを使用する Java アプリケーションがあります。java からは、mariadb サーバーへの接続に drizzle jdbcが使用されます。時々、エラー、壊れたパイプが発生しました。
なぜこのエラーが発生したのか、その根本原因はわかりません。
ubuntu12.04、最新のdrizzle jdbc driver(1.2)、およびmariadb 5.5.29を使用しています。
エラーログを参照してください:
java.sql.SQLNonTransientConnectionException: ping できませんでした: org.drizzle.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:97) で壊れたパイプ org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:950) で
-------------------------------------------------- ------------------------- 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.access$101(ScheduledThreadPoolExecutor.java:165) で java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266) で java.util.concurrent.ThreadPoolExecutor 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.socketWrite0(Native Method) のパイプが壊れています。 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) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細ping を実行できませんでした: org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424) で壊れたパイプ org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) ... 14 以上作成者: java.net.SocketException: java.net.SocketOutputStream.socketWrite0(Native Method) のパイプの破損 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) の java.net.SocketOutputStream.write(SocketOutputStream.java: 153) org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send で java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) で java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) で(MySQLPingPacket.java:47) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細ping を実行できませんでした: org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424) で壊れたパイプ org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) ... 14 以上作成者: java.net.SocketException: java.net.SocketOutputStream.socketWrite0(Native Method) のパイプの破損 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) の java.net.SocketOutputStream.write(SocketOutputStream.java: 153) org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send で java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) で java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) で(MySQLPingPacket.java:47) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) での mysql.MySQLProtocol.ping(MySQLProtocol.java:424) ... 14 以上 原因: java.net.SocketException: java.net でパイプが壊れています。 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) の SocketOutputStream.socketWrite0(ネイティブ メソッド) java.net.SocketOutputStream.write(SocketOutputStream.java:153) の java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 82) org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) で java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) で org.drizzle.jdbc.internal で.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 件以上org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) での mysql.MySQLProtocol.ping(MySQLProtocol.java:424) ... 14 以上 原因: java.net.SocketException: java.net でパイプが壊れています。 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) の SocketOutputStream.socketWrite0(ネイティブ メソッド) java.net.SocketOutputStream.write(SocketOutputStream.java:153) の java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 82) org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) で java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) で org.drizzle.jdbc.internal で.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 件以上948) ... 14 以上 原因: java.net.SocketException: java.net.SocketOutputStream.socketWrite0(Native Method) の java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) のパイプが壊れています。 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) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細948) ... 14 以上 原因: java.net.SocketException: java.net.SocketOutputStream.socketWrite0(Native Method) の java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) のパイプが壊れています。 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) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細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) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細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) at org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 詳細
誰でもこれについて私を助けることができますか?