[
https://issues.apache.org/jira/browse/HADOOP-19555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gautham Banasandra resolved HADOOP-19555.
-----------------------------------------
Target Version/s: 3.5.0
Resolution: Fixed
Merged PR to trunk - https://github.com/apache/hadoop/pull/7654.
> Fix testRenameFileWithFullQualifiedPath on Windows
> --------------------------------------------------
>
> Key: HADOOP-19555
> URL: https://issues.apache.org/jira/browse/HADOOP-19555
> Project: Hadoop Common
> Issue Type: Bug
> Components: hadoop-common
> Affects Versions: 3.5.0
> Environment: Windows 10
> Reporter: Gautham Banasandra
> Assignee: Gautham Banasandra
> Priority: Critical
> Labels: pull-request-available
> Fix For: 3.5.0
>
> Attachments: image-2025-04-27-23-05-05-212.png
>
>
> The Apache Commons Net FTP library is used for FTPFileSystem. In
> *TestFTPFileSystem#testRenameFileWithFullQualifiedPath()*, the FS operations
> (such as touch and rename) are made using absolute paths. However, the
> library expects relative paths.
> This caused *FTPFileSystem#getFileStatus()* to throw FileNotFoundException
> since the library was trying to look for the absolute path under which the
> FileSystem was mounted.
> This worked fine on Linux as it just appended the absolute path under the
> FileSystem's mount path -
> !image-2025-04-27-23-05-05-212.png!
> However, this fails on Windows since suffixing the absolute path under the
> FileSystem's mount path doesn't yield a valid path due to the drive letter in
> the absolute path.
> Consider the following illustration -
> +On Linux+
> {text}
> path1 => /mnt/d/a/b
> path2 => /mnt/d/x/y
> path1 + path2 yields a valid path => /mnt/d/a/b/mnt/d/x/y
> {text}
> +On Windows+
> {text}
> path1 => C:\a\b
> path2 => C:\x\y
> path1 + path2 doesn't yield a valid path => C:\a\b\C:\x\y
> {text}
> So, to fix this, we need to treat the FS operations as purely relative.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]