[ https://issues.apache.org/jira/browse/PIG-2796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13480944#comment-13480944 ]
John Gordon commented on PIG-2796: ---------------------------------- After reviewing the patch, the overall codebase, and the abstraction in question, I think we need another JIRA specifically to refactor temporary file usage with abstract contexts. This particular patch applies to a number of different temporary file allocation patterns from pathname only to file+content. Additionally, there are a number of temporary file allocations that work and aren't covered in this JIRA. This JIRA gives us a better baseline to refactor and test on both platforms, and I wouldn't want to do that refactor without a clean baseline to pick up regressions. I do agree that the abstraction should be more widely used for code health and portability. I just don't think it should be blended with this patch, which already touches a lot of files. I created PIG-2995 to track this. > Local temporary paths are not always valid HDFS path names. > ----------------------------------------------------------- > > Key: PIG-2796 > URL: https://issues.apache.org/jira/browse/PIG-2796 > Project: Pig > Issue Type: Sub-task > Affects Versions: 0.10.0 > Reporter: John Gordon > Assignee: John Gordon > Fix For: 0.11 > > Attachments: 0006-Local-Remote-file-mapping-for-tests-with-temps.patch > > > A number of pig scripts follow the pattern: > File tempFile = File.createTempFile("this", ".txt"); > copyFromLocalToCluster (tempFile.to_string(), tempFile.to_string()); > tempFile.delete(); > The goal, here, seems to be to generate a temp filename to avoid issues on > the next run if the file doesn't get cleaned up. The problem is that > File.createTempFile on Windows creates files with names like > C:\users\myuser\App data\local\temp\file.txt. The problem is that ":" is not > a valid DFS character and so the put fails. > The easy fix on this is to remove colons from the path before upload. Then > we get something like C\users\myuser\App data\local\temp\file.txt which is a > valid DFS pathname with minimal impact to the tests. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira