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 fact that the Drop implementation uses a block_on executor strategy, combined with the fact that it blocks until it gets hold of a mutex, seems to be a problem. I had to fork the project and change to a tokio::spawn-based approach that would return the connection to the pool asynchronously.
My app is retrieving a connection on every web request, and it was basically never responding after 10 requests (the configured minimum pool size). I debugged it to the point to figure out it was infinitely waiting to get() a connection from the pool.
I did not dig into it further than that quick "bandage fix". Maybe this is something that needs to be addressed generally?
Also I'm not sure how using a futures single-threaded executor combines with the standard tokio multi-threaded executor I am using. That could be a problem too.
The fact that the
Drop
implementation uses ablock_on
executor strategy, combined with the fact that it blocks until it gets hold of a mutex, seems to be a problem. I had to fork the project and change to atokio::spawn
-based approach that would return the connection to the pool asynchronously.My app is retrieving a connection on every web request, and it was basically never responding after 10 requests (the configured minimum pool size). I debugged it to the point to figure out it was infinitely waiting to
get()
a connection from the pool.I did not dig into it further than that quick "bandage fix". Maybe this is something that needs to be addressed generally?
This is the relevant commit: https://github.com/RAnders00/bb8/commit/e456d4c8812adc445c85852b575f728981cb5e0a
The text was updated successfully, but these errors were encountered: