You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deadlocks were found through thread dump, and the thread stacks were
In sharding-jdbc-1.5.4.1, called com.dangdang.ddframe.rdb.sharding.jdbc.core.connection.ShardingConnection#getMetaData, If there is no cached connection(because of druid connection pool logic), the metadata is obtained after the connection is created. Then the mysql driver call com.mysql.jdbc.ConnectionImpl#loadServerVariables When creating a connection to execute SQL, Triggered the io.opentelemetry.instrumentation.jdbc.internal.JdbcUtils#extractDbInfo method, but the lock has already been acquired by the thread executing the HTTP request, and the thread executing the HTTP request is waiting for the connection to be created, A deadlock has been created.
What version are you using?
v1.4.1
The text was updated successfully, but these errors were encountered:
Do we need to consider whether deadlock can also occur with other uses of WeakLockFreeCache?
that's an excellent question, I've opened #4192 to track and get others' feedback. I did do a cursory review of other calls to computeIfAbsent() and didn't see any other glaring callbacks to application code, but it's definitely worth a more detailed review.
Describe the bug
Deadlocks were found through thread dump, and the thread stacks were
In sharding-jdbc-1.5.4.1, called com.dangdang.ddframe.rdb.sharding.jdbc.core.connection.ShardingConnection#getMetaData, If there is no cached connection(because of druid connection pool logic), the metadata is obtained after the connection is created. Then the mysql driver call com.mysql.jdbc.ConnectionImpl#loadServerVariables When creating a connection to execute SQL, Triggered the io.opentelemetry.instrumentation.jdbc.internal.JdbcUtils#extractDbInfo method, but the lock has already been acquired by the thread executing the HTTP request, and the thread executing the HTTP request is waiting for the connection to be created, A deadlock has been created.
What version are you using?
v1.4.1
The text was updated successfully, but these errors were encountered: