[
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