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-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-dev-h...@hadoop.apache.org

Reply via email to