You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2020/09/26 22:07:00 UTC

[jira] [Resolved] (IO-689) All new FileUtils methods do a useless Instant->ZonedDateTime->Instant roundtrip

     [ https://issues.apache.org/jira/browse/IO-689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary D. Gregory resolved IO-689.
--------------------------------
    Fix Version/s: 2.9.0
       Resolution: Fixed

> All new FileUtils methods do a useless Instant->ZonedDateTime->Instant roundtrip
> --------------------------------------------------------------------------------
>
>                 Key: IO-689
>                 URL: https://issues.apache.org/jira/browse/IO-689
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 2.8.0
>            Reporter: Uwe Schindler
>            Priority: Minor
>             Fix For: 2.9.0
>
>
> This commit in PR #124 breaks FileUtils with new Java 8 datetime APIs:
> https://github.com/apache/commons-io/pull/124/commits/2eb549873470844c88681e92c64631f796002020
> Because of this I had to put all of the methods to the list of blacklisted APIs in Apache Lucene / Solr. The reason for this change is that now all depend on local datetime, there's no way to pass an Instant with a UNIX timestamp through the API without it being corrupted due to forwards/backwards transformation.
> Background: During DST changes the same local date time exists two times (in autumn, you have in most countries two time the 2:30am time, once before and once after the DST change - because time is rolled back).
> With the above commit you first convert an Instant (which is by definition just a UNIX timestamp and can be converted as-is to a long) to a local Datetime and then back to an Instant. By this forward/backward transformation you get off by an hour during that one hour in autumn, when DST switches back to standard time.
> Please revert this commit and release a bugfix.
> There is no reason to convert an Instant to local and back, the arguments in the PR are plain wrong. Instants are timezoneless and are identical to UNIX timestamps.
> This commit breaks all new methods, because at the end all new methods go through the "Instant" path which does the faulty transformation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)