Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
None
-
None
Description
Issue describe
We are using the mariadb-java-client as the java jdbc connector. But we observed the jdbc hang at one of our customers'
We use the mariadb-java-client to connect the mysql server and the query is very simple "SHOW /*!50002 GLOBAL */ STATUS;".
And it became hung when we upgraded the mariadb-java-client to version 2.2.0.
After several verifications, the jdbc query works fine with mariadb-java-client version <=1.5.9. But the jdbc connection will hang with version >= 1.6.0 and the latest version (2.3.0) still has the issue.
Here is the hang stacktrace:
"Thread-0" #8 daemon prio=5 os_prio=0 tid=0x00007fa0e8124000 nid=0x7d71 runnable [0x00007fa0d845c000] java.lang.Thread.State: RUNNABLE at
|
java.net.SocketInputStream.socketRead0(Native Method) at
|
java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at
|
java.net.SocketInputStream.read(SocketInputStream.java:171) at
|
java.net.SocketInputStream.read(SocketInputStream.java:141) at
|
java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at
|
java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at
|
java.io.BufferedInputStream.read(BufferedInputStream.java:345) - locked <0x00000000eba1ac60> (a java.io.BufferedInputStream) at
|
org.mariadb.jdbc.internal.io.input.StandardPacketInputStream.getPacketArray(StandardPacketInputStream.java:236) at
|
|
org.mariadb.jdbc.internal.io.input.StandardPacketInputStream.getPacket(StandardPacketInputStream.java:207) at
|
|
org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1427) at
|
org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1407) at
|
org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.readRequestSessionVariables(AbstractConnectProtocol.java:620) at
|
|
org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.readPipelineAdditionalData(AbstractConnectProtocol.java:665) at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:535) at
|
org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1195) at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:560) at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:174) at org.mariadb.jdbc.Driver.connect(Driver.java:92) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at cc.databus.maria.Main.queryStatus(Main.java:57) at cc.databus.maria.Main.access$000(Main.java:8) at cc.databus.maria.Main$1.run(Main.java:32) at java.lang.Thread.run(Thread.java:748)
|
Locked ownable synchronizers: - None
|
|
Only one of our customers have the issue and we believe this is not a common issue. Unluckily, the environment is maintained by our customer and we have no idea of their configurations.
Can anyone give some advices to fix this issue?