I have encountered a deadlock when using the session pool. This happens when I attempt to use multiple sessions from the pool in parallel and the connection to PG fails. I have a minimal example here including logs/fiber dump that shows the waiting fibers in Skunk. If my understanding is correct, reading in parallel should be possible as the pool#use internally uses a semaphore to control permits, but these don’t seem to be being released properly on a connection failure. Could someone please advise if this is an implementation issue, or a bug with the library?
I have encountered a deadlock when using the session pool. This happens when I attempt to use multiple sessions from the pool in parallel and the connection to PG fails. I have a minimal example here including logs/fiber dump that shows the waiting fibers in Skunk. If my understanding is correct, reading in parallel should be possible as the pool#use internally uses a semaphore to control permits, but these don’t seem to be being released properly on a connection failure. Could someone please advise if this is an implementation issue, or a bug with the library?
https://github.com/bcarter97/skunk-session-pool-parallel-deadlock