I'm trying to debug a weird scenario that I've seen and hoping somebody could offer some insight.

We saw a spike in c3p0 busy connections on one of our tomcat instances the other day that seemed highly unusual since the site had little traffic, the site also slowed down. At the time the c3p0 busy connections spiked, errors we being written to the tomcat log. When I performed a count of the errors that came from a spring controller, there was exactly 119 errors which equaled exactly the jump in c3p0 connections on that tomcat instance. This was seemingly caused by an update statement on a huge table.

I dumped the Tomcat thread stack and didn't see any threads blocking.

What could have happened there? Somehow the Controller simply not releasing connections? Anybody seen anything like this before?