[CONJ-1148] Thread stuck while executing an Alter table query while there was short network outage at mariaDB server and recovery Created: 2024-01-09  Updated: 2024-01-09

Status: Open
Project: MariaDB Connector/J
Component/s: None
Affects Version/s: 1.5.9
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Mohamed Ismail Assignee: Diego Dupin
Resolution: Unresolved Votes: 0
Labels: None
Environment:

hw.system.vendor=HP
hw.system.model=DL380 Gen10
hw.cpu.vendor=Intel
hw.cpu.model=Xeon Silver 4116 CPU
hw.cpu.clock.speed.in.ghz=2.10
hw.cpu.quantity=48
hw.ram.in.gb=256
os=RHEL 7.9

MariaDB Server : v10.6.10



 Description   

Thread stuck while executing an Alter table query while there was short network outage at mariaDB server and recovered in few mins. While all other query execution failed with Connection reset and EOF stream exceptions, the Alter table(to add partitions) usually gets stuck(we noticed this usually happens with this query).

runnable [0x00007f6e169ea000]
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 <0x000000008bb97930> (a org.mariadb.jdbc.internal.stream.MariaDbBufferedInputStream)
    at org.mariadb.jdbc.internal.packet.read.ReadPacketFetcher.getReusableBuffer(ReadPacketFetcher.java:176)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1051)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1031)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:152)
    at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:246)
    at org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:302)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
    at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:422)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:381)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:431)

Would like to know if this is expected?

Few other info:
There is only connectTimeout configured.
We are considering configuring a socketTimeout and also upgrading the connector.


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