-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54528/#review205847
-----------------------------------------------------------




.gitignore
Lines 30 (patched)
<https://reviews.apache.org/r/54528/#comment288749>

    Why do we need this new folder here?



src/java/org/apache/sqoop/orm/ClassWriter.java
Lines 1793 (patched)
<https://reviews.apache.org/r/54528/#comment288750>

    I think this shutdown hook should not be defined as an anonymous inner 
class but should be extracted in a separate class.
    You can also consider using org.apache.commons.io.FileUtils#deleteDirectory 
method instead of reimplementing the same.


- Szabolcs Vasas


On July 5, 2018, 8:03 a.m., Eric Lin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54528/
> -----------------------------------------------------------
> 
> (Updated July 5, 2018, 8:03 a.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed and Szabolcs Vasas.
> 
> 
> Bugs: SQOOP-3042
>     https://issues.apache.org/jira/browse/SQOOP-3042
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> -------
> 
> After running sqoop, all the temp files generated by ClassWriter are left 
> behind on disk, so anyone can check those JAVA files to see the schema of 
> those tables that Sqoop has been interacting with. By default, the directory 
> is under /tmp/sqoop-<username>/compile.
> 
> In class org.apache.sqoop.SqoopOptions, function getNonceJarDir(), I can see 
> that we did add "deleteOnExit" on the temp dir:
>     for (int attempts = 0; attempts < MAX_DIR_CREATE_ATTEMPTS; attempts++) {
>       hashDir = new File(baseDir, RandomHash.generateMD5String());
>       while (hashDir.exists()) {
>         hashDir = new File(baseDir, RandomHash.generateMD5String());
>       }
> 
>       if (hashDir.mkdirs()) {
>         // We created the directory. Use it.
>         // If this directory is not actually filled with files, delete it
>         // when the JVM quits.
>         hashDir.deleteOnExit();
>         break;
>       }
>     }
> However, I believe it failed to delete due to directory is not empty.
> 
> 
> Diffs
> -----
> 
>   .gitignore 68cbe287 
>   src/java/org/apache/sqoop/SqoopOptions.java 3a19aeac 
>   src/java/org/apache/sqoop/orm/ClassWriter.java a4a768af 
>   src/java/org/apache/sqoop/orm/CompilationManager.java 6590cacc 
>   src/java/org/apache/sqoop/tool/BaseSqoopTool.java 8d318327 
> 
> 
> Diff: https://reviews.apache.org/r/54528/diff/3/
> 
> 
> Testing
> -------
> 
> I have tested manually. I have checked with a couple of other Java developers 
> and it turned out that it is not easy to add test for deleteOnExit, so I did 
> not add any test cases. The code path I changed does not seem to have test 
> coverage either. Let me know if I am wrong.
> 
> Thanks
> 
> 
> Thanks,
> 
> Eric Lin
> 
>

Reply via email to