[ 
https://issues.apache.org/jira/browse/HADOOP-17306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226752#comment-17226752
 ] 

Jim Brennan commented on HADOOP-17306:
--------------------------------------

Here is an example of the type of failure I am seeing in the unit tests:
{noformat}
java.io.IOException: Resource 
file:/home/jenkins/jenkins-home/workspace/hadoop-qbt-trunk-java8-linux-x86_64/sourcedir/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/TestContainerManager-tmpDir/scriptFile.sh
 changed on src filesystem - expected: "2020-10-24T09:29:28.000+0000", was: 
"2020-10-24T09:29:28.936+0000", current time: "2020-10-24T09:29:29.586+0000"
        at 
org.apache.hadoop.yarn.util.FSDownload.verifyAndCopy(FSDownload.java:278)
        at org.apache.hadoop.yarn.util.FSDownload.access$000(FSDownload.java:68)
        at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:415)
        at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:412)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1899)
        at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:412)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.doDownloadCall(ContainerLocalizer.java:247)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.call(ContainerLocalizer.java:240)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.call(ContainerLocalizer.java:228)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
{noformat}

> RawLocalFileSystem's lastModifiedTime() looses milli seconds in JDK < 10.b09
> ----------------------------------------------------------------------------
>
>                 Key: HADOOP-17306
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17306
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>            Reporter: Vinayakumar B
>            Assignee: Vinayakumar B
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.2.2, 3.3.1, 3.4.0, 3.2.3
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> RawLocalFileSystem's FileStatus uses {{File.lastModified()}} api from JDK.
> This api looses milliseconds due to JDK bug.
> [https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8177809]
> This bug fixed in JDK 10 b09 onwards and still exists in JDK 8 which is still 
> being used in many productions.
> Apparently, {{Files.getLastModifiedTime()}} from java's nio package returns 
> correct time.
> Use {{Files.getLastModifiedTime()}} instead of {{File.lastModified}} as 
> workaround. 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to