-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Hello,
I am working on SQLPage, that uses sqlx, and where users can configure their own database connections.
I noticed that when using a connection pool and an in-memory sqlite database, migrations are only applied on whatever connection is made initially, and new connections returned by the connection pool are to new different empty databases.
This is a nasty bug, because when you test the system initially, everything works, but only when the initial connection exceeds its idle_timeout, a new connection is successfully returned, which is also a valid connection, but to a completely different database.
A temporary fix is to use idle_timeout(None)
, but when I do that, I notice a leak of database connections under high load, and at some point all connections are exhausted and the system stays forever in a state where any try to acquire a new connection results in a timeout, even after the peak load has passed.