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
The problem is SQL request may route to multiple sharding tables on same database, and each SQL request may get part of database connection, and waiting to release by others.
So just sync get connection as a atomic operate, let one SQL request can hold whole database connection at once.
terrymanu
changed the title
Get connections synchronized in MEMORY_STRICTLY mode
Get dead lock when in MEMORY_STRICTLY mode for get connection on concurrency environment
Aug 26, 2018
terrymanu
changed the title
Get dead lock when in MEMORY_STRICTLY mode for get connection on concurrency environment
Dead lock may occur on MEMORY_STRICTLY mode when get connection on concurrency environment
Aug 26, 2018
In MEMORY_STRICTLY mode to avoid dead lock in connection pool, we must meet the condition:
ds.maximumPoolSize >= acceptor.size * ds.table_count.
If we get all connections needed synchronized between queries, we just need to meet the condition:
ds.maximumPoolSize >= ds.table_count.
According to the performance test, there's little degrade of the QPS.
The text was updated successfully, but these errors were encountered: