You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by GitBox <gi...@apache.org> on 2020/10/19 05:25:33 UTC

[GitHub] [hadoop] aajisaka commented on a change in pull request #2387: HADOOP-17306. RawLocalFileSystem's lastModifiedTime() looses milli seconds in JDK < 10.b09

aajisaka commented on a change in pull request #2387:
URL: https://github.com/apache/hadoop/pull/2387#discussion_r507473450



##########
File path: hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestRawLocalFileSystemContract.java
##########
@@ -203,4 +203,27 @@ public void testPermission() throws Exception {
     }
   }
 
+  @Test
+  public void testMTimeAtime() throws IOException {
+    RawLocalFileSystem.setUseDeprecatedFileStatus(true);
+    try {
+      Path testDir = getTestBaseDir();
+      String testFilename = "testmtime";
+      Path path = new Path(testDir, testFilename);
+      Path file = new Path(path, "file");
+      fs.create(file);
+      long now = System.currentTimeMillis();
+      long mtime = (now % 1000 == 0) ? now + 1 : now;
+      long atime = (now % 1000 == 0) ? now + 2 : now;
+      fs.setTimes(file, mtime, atime);
+      FileStatus fileStatus = fs.getFileStatus(file);
+      if (!Shell.MAC) {
+        //HADOOP-17306 ; JDK-8177809 not fixed in MacOs
+        assertEquals(mtime, fileStatus.getModificationTime());

Review comment:
       HFS+ does not support milliseconds for mtime, so we have to skip this. In contrast, APFS supports nanoseconds and JDK-8177809 is fixed if the filesystem is APFS.
   ```
   ➜  hadoop git:(trunk) uname -a
   Darwin <snip> 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
   ➜  hadoop git:(trunk) jshell                                          
   |  Welcome to JShell -- Version 11.0.8
   |  For an introduction type: /help intro
   
   jshell> Files.getLastModifiedTime(Paths.get("./pom.xml"))
   $1 ==> 2020-10-19T04:51:58.69531Z
   
   jshell> new File("./pom.xml").lastModified()
   $1 ==> 1603083118695
   ```
   Would you update the comment like "Skip MacOS because HFS+ does not support milliseconds for mtime." ?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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