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: [email protected]
For additional commands, e-mail: [email protected]