commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niall Pemberton <niall.pember...@gmail.com>
Subject Re: [VOTE] Release Commons IO 2.0 based on RC5
Date Fri, 15 Oct 2010 20:11:09 GMT
Sebb has previously raised issues highlighted by FindBugs and I ran it
before cutting RC5. We have resolved a number of FindBugs issues in
this release (Commons IO 1.4 flagged 13 issues and 2.0-RC5 has 9),
some of them are not issues and the rest we decided not to resolve. Of
the 9 FindBugs issues 6 are pre-existing ones that were in the
previous 1.4 release and 3 are new in this release.

On the new issues raised:

1) FileEntry.setChildren(FileEntry[]) may expose internal
representation by storing an externally mutable object
This impl. is used internally by FileAlterationObserver to refresh and
update the state of files it is monitoring and in that context this is
not an issue. If people re-use that impl. elsewhere then they need to
take care - but its not its primary purpose here and I think its OK.
2) The ByteArrayOutputStream "synchronization" issue is a false
positive and was discussed here:
  https://issues.apache.org/jira/browse/IO-214
3) The ByteArrayOutputStream "may fail to close stream" issue is a
false positive since close() does nothing in that impl

On the pre-existing issues from IO 1.4:

1) The two issues regarding FileUtils ignoring the exceptional return
from setLastModified() were discussed here:
    https://issues.apache.org/jira/browse/IO-215
2) The two issues regarding FileUtils ignoring the exceptional return
from mkdirs() are false positives IMO since the following line in both
those methods checks for the existence of the directory and throws an
exception if it doesn't exist.
3) DeferredFileOutputStream is reporting one bug - but no details are
given in the report!!
4) LockableFileWriter ignoring the exceptional return value delete()
was discussed here:
https://issues.apache.org/jira/browse/IO-216

So in summary we resolved 7 FindBugs issues that were present in the
last release. 3 new ones introduced in this release, but which are not
an issue IMO and the remaining 6 issue from the last release have been
considered. So I don't believe anything here should delay the 2.0
release.

Thanks

Niall

On Fri, Oct 15, 2010 at 6:56 PM, Gary Gregory
<GGregory@seagullsoftware.com> wrote:
> Hi All:
>
> I downloaded and tested building on Oracle Java 1.6.0_21 64 bit on Windows Vista 64 bit
with Ant 1.8.1 and Maven 2.2.1. All is well with the build and unit tests.
>
> Findbugs is not part of the build, so I added it and I have some questions:
>
> (1) doCopyDirectory and another methods that call setLastModified.
>
> In:
>
> private static void doCopyDirectory(File srcDir, File destDir, FileFilter filter,
>            boolean preserveFileDate, List<String> exclusionList) throws IOException
{
> ...
>        // Do this last, as the above has probably affected directory metadata
>        if (preserveFileDate) {
>            destDir.setLastModified(srcDir.lastModified());
>        }
>    }
>
>
> Yields:
>
> FileUtils.java:1101 org.apache.commons.io.FileUtils.doCopyDirectory(File, File, FileFilter,
boolean, List) ignores exceptional return value of java.io.File.setLastModified(long)
>
> Since the caller specifically asks for /preserveFileDate/ I would assume that the cares
whether it worked or not. Otherwise this should be "quietlyTryToPreserveFileDate"
>
> It seems like the method should either return a Boolean or throw an exception.
>
> Same issue with:
>
> FileUtils.java:827 org.apache.commons.io.FileUtils.doCopyFile(File, File, boolean) ignores
exceptional return value of java.io.File.setLastModified(long)
>
> Same kind of issue with:
>
> FileUtils.java:2060 org.apache.commons.io.FileUtils.moveDirectoryToDirectory(File, File,
boolean) ignores exceptional return value of java.io.File.mkdirs()
> FileUtils.java:2135 org.apache.commons.io.FileUtils.moveFileToDirectory(File, File, boolean)
ignores exceptional return value of java.io.File.mkdirs()
>
> There are a couple more that I am looking at...
>
> -
> Gary Gregory
>
>> -----Original Message-----
>> From: Simone Tripodi [mailto:simone.tripodi@gmail.com]
>> Sent: Friday, October 15, 2010 01:17
>> To: Commons Developers List
>> Subject: Re: [VOTE] Release Commons IO 2.0 based on RC5
>>
>> Hi Niall,
>> should the clirr report link located on
>> http://people.apache.org/~niallp/io-2.0-rc5/site/clirr-report.html
>> instead of http://people.apache.org/~niallp/io-2.0-rc4/site/clirr-report.html?
>>
>> I can't speak about the implementation stuff because my knowledge on
>> IO is not good enough, but release looks good, mvn stuff are ok,
>> generated site (known broken links a part) seems ok.
>> Tested with both java5 and java6:
>>
>> ------------------------------------------------------------------------------
>> -------------------------------------------
>>
>> Darwin Simones-Computer-2.local 10.4.0 Darwin Kernel Version 10.4.0:
>> Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
>>
>> java version "1.6.0_20"
>> Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
>> Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)
>>
>> Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200)
>> Java version: 1.6.0_20
>> Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
>> Default locale: en_US, platform encoding: MacRoman
>> OS name: "mac os x" version: "10.6.4" arch: "x86_64" Family: "mac"
>>
>> Tests run: 744, Failures: 0, Errors: 0, Skipped: 0
>>
>> ------------------------------------------------------------------------------
>> -------------------------------------------
>>
>> Darwin Simones-Computer-2.local 10.4.0 Darwin Kernel Version 10.4.0:
>> Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
>>
>> java version "1.5.0_24"
>> Java(TM) 2 Runtime Environment, Standard Edition (build
>> 1.5.0_24-b02-357-10M3065)
>> Java HotSpot(TM) Client VM (build 1.5.0_24-149, mixed mode, sharing)
>>
>> Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200)
>> Java version: 1.5.0_24
>> Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
>> Default locale: en_US, platform encoding: MacRoman
>> OS name: "mac os x" version: "10.6.4" arch: "i386" Family: "unix"
>>
>> Tests run: 744, Failures: 0, Errors: 0, Skipped: 0
>>
>> I don't know if my vote is binding or not, BTW I express my +1
>> Have a nice day,
>> Simo
>>
>> http://people.apache.org/~simonetripodi/
>> http://www.99soft.org/
>>
>>
>>
>> On Fri, Oct 15, 2010 at 4:14 AM, Niall Pemberton
>> <niall.pemberton@gmail.com> wrote:
>> > I have prepared Commons IO 2.0 RC5. The main changes since RC4 was to
>> > rename the FilesystemObserver/Monitor to
>> > FileAlterationObserver/Monitor and improvements to the test coverage.
>> >
>> > The RC3 changes were improvements to some tests which were causing
>> > intermittent failures in Gump & Continuum and JavaDoc improvements.
>> > For details about Continuum builds/failures, see:
>> >  http://people.apache.org/~niallp/io-2.0/IOFailures.html
>> >
>> > The distro is here:
>> >  http://people.apache.org/~niallp/io-2.0-rc5/
>> >
>> > Release Notes:
>> >  http://people.apache.org/~niallp/io-2.0-rc5/RELEASE-NOTES.txt
>> >
>> > Site:
>> >  http://people.apache.org/~niallp/io-2.0-rc5/site/
>> >
>> > Maven Stuff:
>> >  http://people.apache.org/~niallp/io-2.0-rc5/maven/
>> >
>> > Some Notes:
>> >
>> > * There is one error on the clirr report - which is a false positive
>> > (a generic method that is erased)
>> >  http://people.apache.org/~niallp/io-2.0-rc4/site/clirr-report.html
>> > * Links to the JavaDoc versions on the site don't work (they will when
>> > its deployed to the right location)
>> >
>> > Thanks
>> >
>> > Niall
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> > For additional commands, e-mail: dev-help@commons.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>
>

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


Mime
View raw message