You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Joan Sala Reixach (JIRA)" <ji...@apache.org> on 2019/07/31 16:29:00 UTC

[jira] [Created] (HADOOP-16479) FileStatus.getModificationTime returns localized time instead of UTC

Joan Sala Reixach created HADOOP-16479:
------------------------------------------

             Summary: FileStatus.getModificationTime returns localized time instead of UTC
                 Key: HADOOP-16479
                 URL: https://issues.apache.org/jira/browse/HADOOP-16479
             Project: Hadoop Common
          Issue Type: Bug
          Components: fs/azure
    Affects Versions: 3.2.0
            Reporter: Joan Sala Reixach
         Attachments: image-2019-07-31-18-21-53-023.png, image-2019-07-31-18-23-37-349.png

As per javadoc, the method FileStatus.getModificationTime() should return the time in UTC, but it returns the time in the JVM timezone.

The issue origins in AzureBlobFileSystemStore.getFileStatus() itself, sinceĀ  parseLastModifiedTime() returns a wrong date. I have created a file in Azure Data Lake Gen2 and when I look atĀ  it through the Azure Explorer it shows the correct modification time, but the method returns -2 hours time (I am in CET = UTC+2).

Azure Explorer last modified time:

!image-2019-07-31-18-21-53-023.png|width=460,height=45!

AbfsClient parseLastModifiedTime:

!image-2019-07-31-18-23-37-349.png|width=459,height=284!

It shows 15:21 CEST as utcDate, when it should be 15:21 UTC, which results in the 2 hour loss.

DateFormat.parse uses a localized calendar to parse dates which might be the source of the issue.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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