Connection pool exhaustion with Snowflake, Metabase v0.56

After upgrading to Metabase v0.56, we're experiencing severe connection pool exhaustion with Snowflake, resulting in 120,000+ unnecessary USE DATABASE commands per day. Investigation reveals this is caused by the C3P0 connection pool library upgrade to version 0.11.2 in pull request #10 of the metabase/connection-pool repository.

C3P0 0.11.2 introduced JDBC 4.3 session boundary management (beginRequest()/endRequest() calls) that conflicts with Snowflake JDBC driver behavior. Connections remain in "idle cleanup" state much longer than previous C3P0 versions, causing pool exhaustion during business hours.

Connection Pool Data:
"db-2-snowflake": {
"numConnections": 15, // Pool maxed out
"numIdleConnections": 11, // Stuck in session cleanup
"numBusyConnections": 4, // Actually running queries
"maxPoolSize": 15, // Default limit
"numThreadsAwaitingCheckoutDefaultUser": 0
}

metabase 56 still uses connection-pool 1.2

and just to be double sure, we’re using c3p0 10.x

unless you’re forking the code and using an unreleased version of our pooler library

@dragonsahead Thank you so much for checking the actual dependencies! I’m using the official release, but I mistakenly thought it was upgraded. I’m not sure why we're experiencing this spike after the new Metabase release, but I will continue to investigate.

please tell us which version you upgraded from so we can trace down what changed