[
https://issues.apache.org/jira/browse/HADOOP-1961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530919
]
Raghu Angadi commented on HADOOP-1961:
--------------------------------------
Wow there are at least three versions of copyToLocal : one in FsShell, one in
ChecksumFileSystem, and FileUtil. All of these implement essentially same logic
and recursion.. but look different. FsShell and ChecksumFS versions in turn
invoke FileUtil version. We should remove FsShell and ChecksumFS, at least in
0.15 or 0.16.
> -get, -copyToLocal fail when single filename is passed
> -------------------------------------------------------
>
> Key: HADOOP-1961
> URL: https://issues.apache.org/jira/browse/HADOOP-1961
> Project: Hadoop
> Issue Type: Bug
> Components: dfs
> Affects Versions: 0.14.1
> Reporter: Koji Noguchi
> Assignee: Raghu Angadi
> Priority: Blocker
> Fix For: 0.14.2
>
> Attachments: HADOOP-1961.patch
>
>
> In 0.14.1 and in trunk, when I try
> % hadoop dfs -get /user/knoguchi/aaa aaa
> get: Failed to rename tmp file to local destination "aaa". Remote source
> file "/user/knoguchi/aaa" is saved to "/tmp/_copyToLocal_aaa30478".
> This works.
> % hadoop dfs -get /user/knoguchi/aaa ./aaa
> or
> % hadoop dfs -get /user/knoguchi/aaa /home/knoguchi/aaa
> My guess. With change in HADOOP-1292, it now creates a tmp file when
> -copyToLocal.
> When destination path is passed without any directory, tmp file is created
> under '/tmp'. Otherwise, it uses the same directory as the destination path.
> In Java API for File.renameTo,
> http://java.sun.com/javase/6/docs/api/java/io/File.html#renameTo(java.io.File)
> it says
> " The rename operation might not be able to move a file from one filesystem
> to another",
> so renameTo call from /tmp/_tmpfile to /home/knoguchi can fail.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.