[ https://issues.apache.org/jira/browse/DBCP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz updated DBCP-368: ----------------------------- Fix Version/s: 2.0 > determine which connections to hold in pool by relative value > ------------------------------------------------------------- > > Key: DBCP-368 > URL: https://issues.apache.org/jira/browse/DBCP-368 > Project: Commons Dbcp > Issue Type: New Feature > Reporter: Philip Williams > Fix For: 2.0 > > > Situation: a Firebird-Classic database (each connection has independent > metadata cache), in a metadata-heavy environment; many "quick" actions will > never force the database server to load full metadata, but a few will, in our > case resulting in 200MB of metadata cache in memory (takes about 3 seconds to > load, visible latency to the user); any connection that has done this is > "more valuable" to us, and we'd prefer to keep those connections in the pool, > and remove idle connections which haven't incurred this cost yet and are > relatively cheap to recreate later if our load increases. Doing this is > preferable to forcing ALL connections to load metadata at start, as this > means the pool will always have a startup cost (in time), and the server will > likely use more memory than really necessary. > Proposal: add new configuration parameter; if set, run the SQL string and get > back a single-column, single-row result-set containing an arbitrary "value" > as determined by the connection; prefer to close the lowest(?)-value > connections first, to get down to the configured minIdle. Would require > querying each open connection, when the pool is over-full, to determine which > ones are most valuable. If not set, use current algorithm (based on age?). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira