Thanks for the reviews, Gary and Bruno. And thanks, Gary, for giving such a 
sharp eye to the broader range of code. I'll work through the suggestions in 
this thread, and clear everything up for the next RC.


> On Jan 6, 2020, at 8:21 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
> I think we need a development pass before we release. I see too many
> resource leaks under certain conditions.
> 
> For example:
> 
> Calling org.apache.commons.dbutils.QueryRunner.batch(String, Object[][])
> with a null String or a null Object[][] will leak JDBC Connections.
> 
> This should be fixed by following the convention that the code that
> allocates then deallocates.
> 
> So instead of:
> 
>    public int[] batch(final String sql, final Object[][] params) throws
> SQLException {
>        final Connection conn = this.prepareConnection();
> 
>        return this.batch(conn, true, sql, params);
>    }
> 
> This method should be:
> 
>    public int[] batch(final String sql, final Object[][] params) throws
> SQLException {
>        try (final Connection conn = this.prepareConnection()) {
>            return this.batch(conn, true, sql, params);
>        }
>    }
> 
> AND the method org.apache.commons.dbutils.QueryRunner.batch(Connection,
> boolean, String, Object[][]) should NOT release the connection it is given
> since it is not its owner.
> 
> Other call sites can be adjusted similarly. So this applies to callers
> of org.apache.commons.dbutils.AbstractQueryRunner.prepareConnection() and
> other "prepare" methods.
> 
> Gary
> 
> 
> On Sun, Jan 5, 2020 at 2:13 AM Carl Hall <thecarlh...@apache.org> wrote:
> 
>> We have fixed quite a few bugs and added some significant enhancements
>> since Apache Commons DbUtils 1.7 was released, so I would like to release
>> Apache Commons DbUtils 1.8.
>> 
>> Apache Commons DbUtils 1.8 RC1 is available for review here:
>>    https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1 (svn
>> revision 37461)
>> 
>> The Git tag DBUTILS_1_8_RC1 commit for this RC is
>> 727eef5f138a1be1f4365e2b73740949504e0e36 which you can browse here:
>> 
>> https://gitbox.apache.org/repos/asf?p=commons-dbutils.git;a=commit;h=727eef5f138a1be1f4365e2b73740949504e0e36
>> 
>> You may checkout this tag using:
>>    git clone https://gitbox.apache.org/repos/asf/commons-dbutils.git
>> --branch DBUTILS_1_8_RC1 commons-dbutils-1.8-RC1
>> 
>> Maven artifacts are here:
>> 
>> https://repository.apache.org/content/repositories/orgapachecommons-1484/commons-dbutils/commons-dbutils/1.8/
>> 
>> These are the artifacts and their hashes:
>> 
>> #Release SHA-512s
>> #Sat Jan 04 22:36:52 PST 2020
>> 
>> commons-dbutils-1.8-bin.tar.gz=8df85fcc2d264e237b3d912b53e4c7cb6c5da143256fc6c1e954770bbcddee1a2c9dd18aa52e165221d136b22809496581fb07cada3528d135be29934ba93519
>> 
>> commons-dbutils-1.8-bin.tar.gz.asc=69953438530416c10f44bb552c67f618cb0e0ab0db88743a5d99818ce1612eec9cd12a6a0d06d204495cc856381e4f50283f0fa38dfd138de89fdb93345c7bec
>> 
>> commons-dbutils-1.8-bin.zip=550d1e2b03b8419ad903848100f11a8b74271802844286a0040a32c1aa8cf7e34af6a8e95bb13fe5099b9c6e6fe65c55001810dd381d11c688760dcc4a0a81b5
>> 
>> commons-dbutils-1.8-bin.zip.asc=0bd928a65147f399da418bf3e14cb34510dd1936468df41d845f71fb15c73aa2bbd61d28db5f9f3bdb099ae51d56a41f620bf66e504f8d70e59aaede04653ec3
>> 
>> commons-dbutils-1.8-javadoc.jar=7aa230e2fdcfe365ad091cdff6ec00eeb965980a431f85afddfc0fc6255ee2620c5c580ad0cbc66799e575e3f2841439a0b75002862e89ac9bead0be5ed56e12
>> 
>> commons-dbutils-1.8-javadoc.jar.asc=a6ab07ac09dd3a87d3141dbfc369abf2fbc561ec0b6f77b0ed1581026eb7b8aa238bc22b5023cb2cde1c72d9b709563af4e7f7898956aab9465d8745747b6cfb
>> 
>> commons-dbutils-1.8-sources.jar=7c007cdffb6f734b6a0d702b317e9c9713a05c41a9a9a151fca95f04fbc5565a35129e7c0faabd3b6b12be106eed7029a2b007cdcc4b0d6e858bcb2505fa9f76
>> 
>> commons-dbutils-1.8-sources.jar.asc=87674fb7aa05932c9663e9111b86742a2c2202aec11d7f561c6a3e113f3eb1e42e95134e84ecad63358025a6465a6d495aa739ce5ed34438bc8a2b51be29b013
>> 
>> commons-dbutils-1.8-src.tar.gz=5efd90dc08b504ec7d2951a974a6ad329ab9ec4b71199a1a13386029c59d0fd65d37ba8dc6ddca6fdc35a96d262047eeedf7f4cd96ad1241190a927d656a7c87
>> 
>> commons-dbutils-1.8-src.tar.gz.asc=a2eb7c80baace54415bc8bc7d9b250721896f3e949a54eec6c222d8cff367eeea00a6d0c3430f08e3b65ceabfbcdded7e8455a70081f4326d8b5abb09bef8378
>> 
>> commons-dbutils-1.8-src.zip=4a5627ef0a5125bae56a077ab6489f44042ec84687574920ea173bbc9f23fa88983944822f10577f7cff5d54a885d98d0c34e71abeafe568f63396453ac491a0
>> 
>> commons-dbutils-1.8-src.zip.asc=87923a6d27698de183b4fe37bd23e2249ab45074c597eef01e9d9de57921151d0d774a6ec0eb84528ede3dfda46377268e6322ec27724c1cbe5f9f98ac1e1d9d
>> 
>> commons-dbutils-1.8-test-sources.jar=86230141a19dff2276a9f7e3a1806c7ce69ea496b9aee5ed6a8afb4f084f71436b2769e49dfe798611aa03eda17897128dae6516cdbb2a00f3a04e9ec9a14ff2
>> 
>> commons-dbutils-1.8-test-sources.jar.asc=0b41adf88b654a87e4857e59d58399cd94198525d038b9abd8977cc61891321315bbc2739909bf4d253533eb8ef03b9151c758227b801f002b57efdd9dca12b0
>> 
>> commons-dbutils-1.8-tests.jar=0ed0b578b593fcd51f96ac7d9f421ded992a0eec6e038c2c6bbf4629f38aec7defe90f5b634ce59c6706d05c7e5b79a4e7d525e0d77e9e8447531adcb0ad4a55
>> 
>> commons-dbutils-1.8-tests.jar.asc=17572acb7a2fd68d641bd46e33be243f25258ce4762eeff79e9e023db7ebfda1548e06b49d5317dcec21d59f8e9c9b5a9931a284875f62344be7b39c888bb60b
>> 
>> commons-dbutils-1.8.jar.asc=9f67b415e73b3f36f997e30a32c76fcc2c601e528930c12254f0c02ef3f2d996d3926ecd93ce71d81b2df0ecac37295f4bfe806e8cf9bb5a9be4c0fd7cdcb268
>> 
>> commons-dbutils-1.8.pom.asc=9d1b7e2dc1b7717ee9274dac1d763d2257bfa8759d86ba2bd3948fb3f298df4633824abc680fc980d99e003157c6d359e6d325691f771ba4d6fb55353d5ae1e9
>> 
>> 
>> I have tested this with ***'mvn clean install site'*** using:
>> ***
>> Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
>> Maven home: /usr/local/Cellar/maven/3.6.3/libexec
>> Java version: 1.8.0_144, vendor: Oracle Corporation, runtime:
>> /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre
>> Default locale: en_US, platform encoding: UTF-8
>> OS name: "mac os x", version: "10.15.2", arch: "x86_64", family: "mac"
>> ***
>> 
>> Details of changes since 1.7 are in the release notes:
>> 
>> https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1/RELEASE-NOTES.txt
>> 
>> https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1/site/changes-report.html
>> 
>> Site:
>> 
>> https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1/site/index.html
>>    (note some *relative* links are broken and the 1.8 directories are not
>> yet created - these will be OK once the site is deployed.)
>> 
>> CLIRR Report (compared to 1.7):
>> 
>> https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1/site/clirr-report.html
>> 
>> JApiCmp Report (compared to 1.7):
>> 
>> https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1/site/japicmp.html
>> 
>>    ***
>>    Note that Clirr reports several errors.
>>    These are considered OK for the reasons stated below.
>>    These exceptions are also noted in the Changes and Release Notes.
>> 
>>    Errors reported:
>>    - methods added to interface: OK because that does not affect binary
>> compatibility.
>>    - etc.
>>    ***
>> 
>> RAT Report:
>> 
>> https://dist.apache.org/repos/dist/dev/commons/dbutils/1.8-RC1/site/rat-report.html
>> 
>> KEYS:
>>  https://www.apache.org/dist/commons/KEYS
>> 
>> Please review the release candidate and vote.
>> This vote will close no sooner than 72 hours from now.
>> 
>>  [ ] +1 Release these artifacts
>>  [ ] +0 OK, but...
>>  [ ] -0 OK, but really should fix...
>>  [ ] -1 I oppose this release because...
>> 
>> Thank you,
>> 
>> Carl Hall,
>> Release Manager (using key 1e5ab6d3cf8ebf5f)
>> 
>> For following is intended as a helper and refresher for reviewers.
>> 
>> Validating a release candidate
>> ==============================
>> 
>> These guidelines are NOT complete.
>> 
>> Requirements: Git, Java, Maven.
>> 
>> You can validate a release from a release candidate (RC) tag as follows.
>> 
>> 1) Clone and checkout the RC tag
>> 
>> git clone https://gitbox.apache.org/repos/asf/commons-dbutils.git
>> --branch DBUTILS_1_8_RC1 commons-dbutils-1.8-RC1
>> cd commons-dbutils-1.8-RC1
>> 
>> 2) Check Apache licenses
>> 
>> This step is not required if the site includes a RAT report page which you
>> then must check.
>> 
>> mvn apache-rat:check
>> 
>> 3) Check binary compatibility
>> 
>> Older components still use Apache Clirr:
>> 
>> This step is not required if the site includes a Clirr report page which
>> you then must check.
>> 
>> mvn clirr:check
>> 
>> Newer components use JApiCmp with the japicmp Maven Profile:
>> 
>> This step is not required if the site includes a JApiCmp report page which
>> you then must check.
>> 
>> mvn install -DskipTests -P japicmp japicmp:cmp
>> 
>> 4) Build the package
>> 
>> mvn -V clean package
>> 
>> You can record the Maven and Java version produced by -V in your VOTE
>> reply.
>> To gather OS information from a command line:
>> Windows: ver
>> Linux: uname -a
>> 
>> 5) Build the site for a single module project
>> 
>> Note: Some plugins require the components to be installed instead of
>> packaged.
>> 
>> mvn site
>> Check the site reports in:
>> - Windows: target\site\index.html
>> - Linux: target/site/index.html
>> 
>> 6) Build the site for a multi-module project
>> 
>> mvn site
>> mvn site:stage
>> Check the site reports in:
>> - Windows: target\site\index.html
>> - Linux: target/site/index.html
>> 
>> -the end-
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to