[CONJ-666] JDBC connection hang since 1.6.0 Created: 2018-12-14  Updated: 2022-03-04  Resolved: 2022-03-04

Status: Closed
Project: MariaDB Connector/J
Component/s: Other
Affects Version/s: None
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Jianyuan Zhang Assignee: Diego Dupin
Resolution: Cannot Reproduce Votes: 0
Labels: 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?



 Comments   
Comment by Diego Dupin [ 2018-12-17 ]

There have been similar issues recensed when using a proxy (Maxscale).
Those have been corrected in Maxscale 2.2 version if I remember that right.

Could you confirm that this is the case here?

Comment by Jianyuan Zhang [ 2018-12-17 ]

Thanks Diego. Let me check with our customer.

Comment by Diego Dupin [ 2022-03-04 ]

closing since not reproduced and not answer

Generated at Thu Feb 08 03:17:25 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.