The main motivation for this change is that Bonecp connection tracking appears to closing a connection that has not been checked back in. See https://playframework2.ci.cloudbees.com/job/play2-master/1420/consoleFull and search for “disableConnectionTracking” and you’ll see that jdbc[4]’s connection is closed. Tracing back from there the connection for jdbc[4] does not appear to have been checked out (also verified by looking at the source code that should call the check in). It appears to me that the connection should remain open given that it is part of the pool.

Interestingly this problem is intermittent on master, doesn’t occur on the PR validation branch and I cannot reproduce it locally. Perhaps a race condition within BoneCP?

The secondary motivation to this change is that connections do not require management by BoneCP in a situation where they are being managed by a framework such as Play. The BoneCP management will add overhead so not requiring it by default may improve performance.