[ https://issues.apache.org/jira/browse/HADOOP-19555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17947640#comment-17947640 ]
ASF GitHub Bot commented on HADOOP-19555: ----------------------------------------- GauthamBanasandra opened a new pull request, #7654: URL: https://github.com/apache/hadoop/pull/7654 <!-- Thanks for sending a pull request! 1. If this is your first time, please read our contributor guidelines: https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute 2. Make sure your PR title starts with JIRA issue id, e.g., 'HADOOP-17799. Your PR title ...'. --> ### Description of PR 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 -  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 ``` path1 => /mnt/d/a/b path2 => /mnt/d/x/y path1 + path2 yields a valid path => /mnt/d/a/b/mnt/d/x/y ``` ## On Windows ``` path1 => C:\a\b path2 => C:\x\y path1 + path2 doesn't yield a valid path => C:\a\b\C:\x\y ``` So, to fix this, we need to treat the FS operations as purely relative. ### How was this patch tested? - Ran the unit tests locally. - Jenkins CI validation. ### For code changes: - [x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')? - [ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files? > 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 > 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: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org