This allows us to create a pool of connections that can be used by multiple processes to send queries to the database and then return the connection back to the pool. The app uses the received connection from the holder and then sends a CheckIn message with the holder’s PID to the pool manager, which changes the state of the holder to Ready . There was a bug where, if the pool didn’t have any ready holders, it would get stuck because the pool manager was using a recursive function that repeatedly asked the storage if there were any available holders.