HADOOP-14431. ModifyTime of FileStatus returned by SFTPFileSystem's getFileStatus method is wrong. Contributed by Hongyuan Li.
This commit is contained in:
parent
6a28a2b914
commit
66c6fd8314
|
@ -277,7 +277,7 @@ public class SFTPFileSystem extends FileSystem {
|
|||
// Using default block size since there is no way in SFTP channel to know of
|
||||
// block sizes on server. The assumption could be less than ideal.
|
||||
long blockSize = DEFAULT_BLOCK_SIZE;
|
||||
long modTime = attr.getMTime() * 1000; // convert to milliseconds
|
||||
long modTime = attr.getMTime() * 1000L; // convert to milliseconds
|
||||
long accessTime = attr.getATime() * 1000L;
|
||||
FsPermission permission = getPermissions(sftpFile);
|
||||
// not be able to get the real user group name, just use the user and group
|
||||
|
|
|
@ -319,4 +319,13 @@ public class TestSFTPFileSystem {
|
|||
assertEquals(accessTime1, accessTime2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetModifyTime() throws IOException {
|
||||
Path file = touch(localFs, name.getMethodName().toLowerCase() + "1");
|
||||
java.io.File localFile = ((LocalFileSystem) localFs).pathToFile(file);
|
||||
long modifyTime1 = localFile.lastModified();
|
||||
long modifyTime2 = sftpFs.getFileStatus(file).getModificationTime();
|
||||
assertEquals(modifyTime1, modifyTime2);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue