patch was attached earlier today. Karl
On Tue, Jun 23, 2015 at 1:06 PM, Karl Wright <[email protected]> wrote: > I've reopened the ticket and will attach an additional patch. > Karl > > On Tue, Jun 23, 2015 at 12:37 PM, Markus Schuch <[email protected]> > wrote: > >> Hi, >> >> i tested CONNECTORS-1202 (stale connection check) and i encounter a dead >> lock in the connection pool when i simulate a database outage. >> >> I use ManifoldCF 1.7.1 with CONNECOTRS-1202 patch applied an MySQL as >> Database. >> >> Steps for reproduction : >> >> 1. Start ManifoldCF with a limited ConnectionPool Max size of 5 >> 2. When everything is running stop the database >> 3. Wait for connection exeptions to occur >> 4. Click around in the ui to start more threads that want to aquire a >> connection >> 5. Everything freezes >> 6. Start the database >> 7. Still everything is freezed. no recovery is happening. >> >> As far as i understand the ConnectionPool implementation, the problem is >> that the activeConnections counter is not decremented when the >> DriverManager fails to get a Connection. On every failed >> DriverManager.getConnection call the pool gets more and more 'exhausted'. >> When activeConnections hits the size limit, threads go to Object.wait(). >> But notifyAll will never be called because there is no outstanding >> connection to return. >> >> Regards, >> Markus >> > >
