Release Plan For Commons DBCP 1.2.2
Overall Status
The release is in the planning stage.
Release Manager
The release manager is Phil Steitz.
Background
This is a maintenance release.
Pre Release Tasks
Source
- Resolve bugs listed below
- Eliminate javadoc warnings
- Ensure javadoc, code and tests match
- Eliminate test failures
Documentation
- Review site docs and improve documentation of exception manangement, documenting current behavior and indicating things likely to change in 1.3
Outstanding Bugs
ID |
Summary |
Category |
Recommended disposition |
|||
PoolableConnectionFactory.validateConnection() should log exception message |
Logging |
Fix later - 1.3 |
||||
Allow for database clusters/clustering |
Enhancement |
Fix later or WontFix? |
||||
initializationStatement and destructionStatement in PoolableConnectionFactory |
Enhancement |
Fix later with DBCP-175 in 1.3 |
||||
Make exceptions about closed connections and statements more easily debuggable |
Exception management |
Fix Committed |
||||
Invalidate "broken" connections by monitoring SQLExceptions |
Exception management |
Fix later - 1.3 |
||||
Pool prepared statements accross a close (BasicDataSource) |
Enhancement |
Fix later |
||||
Access to the underlying connection when using SharedPoolDataSource |
Enhancement |
Fix later |
||||
Specifying the maximum lifetime of a connection |
Enhancement |
Fix later |
||||
SharedPoolDataSource raises exception while closing invalid connection |
Exception management |
Fix later |
||||
Use commons-logging for debugging instead of System.out.println |
Logging |
Fix later |
||||
Use setQueryTimeout in combination with validationQuery to recover from network problems |
Enhancement |
Fix later |
||||
setReadOnly & setAutoCommit called too many times |
Performance |
Fix Committed |
||||
Dbcp doesn't meet JDBC specification |
Enhancement |
|||||
SQLException When PoolablePreparedStatement Already Closed |
Exception management |
Fix later |
||||
Setting the defaultAutoCommit property to false breaks the MySQL DataSource |
Needs info |
Fix later |
||||
PoolingDriver.getConnectionPool() should use contextClassLoader |
Enhancement |
Fix later |
||||
Individual connection close method |
Enhancement |
Fix later |
||||
Evictor thread in GenericObjectPool has potential for deadlock |
Performance |
Fix in 1.2.2 |
||||
DelegatingConnection.close() throws exception |
Exception management |
Fix later |
||||
add/enhance toString() Method to DelegatingCallableStatement for sql debugging |
Enhancement |
Fix later |
||||
allow to register a wrapper extending DelegatingPreparedStatement to enhance setString for compatibility ("schema not null" issue) |
Enhancement |
Fix later |
||||
Handle changed passwords in SharedPoolDataSource |
Enhancement |
Fix later |
||||
Deadlock when evicting dbcp objects (testWhileIdle=true) |
Performance |
Fix in 1.2.2 |
||||
redesign to use dbcp with security manager |
Enhancement |
Fix later |
||||
BasicDataSource setter for connectionProperties |
Enhancement |
Fix later |
||||
docs lie NOT maxIdle = 0 for no limit BUT -1 |
Documentation |
Fix in 1.2.2 |
||||
transactionIsolation, testOnBorrow and autoCommmit=false crashes for Oracle |
Enhancement |
Fix later |
||||
NullPointerException retrieving connection from the pool |
Performance |
Fix in 1.2.2 |
||||
stmt.getConnection() != Connection used to create the statement |
JDBC compliance |
Fix or close before 1.2.2 |
||||
Is this really a bug?? |
??? |
|||||
SQLNestedException thrown by server causes client ClassNotFoundException |
Enhancement |
Fix later |
||||
I'd like to run init SQL after JDBC Connection creation in Tomcat DBCP |
Enhancement |
Fix later |
||||
BasicDataSource.createDataSource() memory leak on SQLExceptions |
Exception management |
Fix in 1.2.2 |
||||
add a socketFactory attribute to BasicDataSource (to allow SSL "thread"-safe) |
Enhancement |
Fix later |
||||
allow to set >= 6 parameters to do non-global SSL |
Enhancement |
Fix later |
||||
commons dbcp does not supports Firebird DB. |
Enhancement |
Fix later |
||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8009d292-ab3c-40b7-bc34-528afd962654"><ac:plain-text-body><![CDATA[ |
[DBCP-189 |
http://issues.apache.org/jira/browse/DBCP-189] |
[dbcp] Threads do not get a Connection in FIFO mode |
Performance |
Fix in 1.2.2 |
]]></ac:plain-text-body></ac:structured-macro> |
BasicDataSource.getConnection() Connections don't work as hashtable keys |
Performance |
Fix later? |
||||
Commons Collection dependency version clash when using Commons DBCP via Maven2 |
Dependency |
Remove dependency in 1.2.2? |
||||
DelegatatingPreparedStatement does not override toString() method |
Enhancement |
Fix in 1.2.2 |
||||
PoolGuardConnectionWrapper violates close() contract |
Exception Management |
Fix later |
Check Compatibility
OS |
JDK |
Database(s) |
Tomcat? |
Comments |
Windows 2000 |
1.3 |
|
|
|
Windows 2000 |
1.4 |
|
|
|
Windows 2000 |
1.5 |
|
|
|
Windows XP |
1.3 |
|
|
|
Windows XP |
1.4 |
|
|
|
Windows XP |
1.5 |
|
|
|
Linux |
1.3 |
|
|
|
Linux |
1.4 |
|
|
|
Linux |
1.5 |
|
|
|
Mac |
1.3 |
|
|
|
Mac |
1.4 |
|
|
|
Mac |
1.5 |
|
|
|
Solaris |
1.3 |
|
|
|
Solaris |
1.4 |
|
|
|
Solaris |
1.5 |
|
|
|
Release Tasks
SVN
There will be no release branch, but tags will be created for each release candidate.
Release Notes
Run clirr / jdiff against 1.2.1 tag and update changes.xml to include all changes since 1.2.1. Generate and distribute plain text release notes using maven announcment plugin and customized jsl.
Release Candidates
- The first release candidate will be prepared shortly after the pre-release tasks are done.
- A reasonable amount of time (a week or two) will be allowed for review and testing.
- If no issues are reported during the review time, a release VOTE will be called. Vote duration will be 72 hours.
- Above steps will be repeated until a release vote passes.
Comments
Please post comments to the commons-dev mailing list.