Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Unknown
Description
It seems that Files.createTempFile is NOT equivalent to File.createTempFile.
With this debug code
private File getHfdsFileToTmpFile(String hdfsPath, HdfsConfiguration configuration) { try { String fname = hdfsPath.substring(hdfsPath.lastIndexOf('/')); System.out.println("fname: " + fname); File outputDest; try { System.out.println("First trying: Files.createTempFile"); outputDest = Files.createTempFile(fname, ".hdfs").toFile(); } catch (Exception ex) { ex.printStackTrace(); System.out.println("Now trying: File.createTempFile"); outputDest = File.createTempFile(fname, ".hdfs"); } System.out.println("outputDest: " + outputDest); ... } },
I see ...
{12:29:50,180 INFO [stdout] fname: /ID-MacBook-1561976987280-0-1.opened 12:29:50,180 INFO [stdout] First trying: Files.createTempFile 12:29:50,189 ERROR [stderr] java.lang.IllegalArgumentException: Invalid prefix or suffix 12:29:50,189 ERROR [stderr] at java.nio.file.TempFileHelper.generatePath(TempFileHelper.java:63) 12:29:50,190 ERROR [stderr] at java.nio.file.TempFileHelper.create(TempFileHelper.java:127) 12:29:50,190 ERROR [stderr] at java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:161) 12:29:50,190 ERROR [stderr] at java.nio.file.Files.createTempFile(Files.java:897) 12:29:50,190 ERROR [stderr] at org.apache.camel.component.hdfs2.HdfsFileType$1.getHfdsFileToTmpFile(HdfsFileType.java:147) 12:29:50,190 ERROR [stderr] at org.apache.camel.component.hdfs2.HdfsFileType$1.createInputStream(HdfsFileType.java:131) 12:29:50,191 ERROR [stderr] at org.apache.camel.component.hdfs2.HdfsInputStream.createInputStream(HdfsInputStream.java:50) 12:29:50,191 ERROR [stderr] at org.apache.camel.component.hdfs2.HdfsConsumer.doPoll(HdfsConsumer.java:139) 12:29:50,191 ERROR [stderr] at org.apache.camel.component.hdfs2.HdfsConsumer.poll(HdfsConsumer.java:97) 12:29:50,191 ERROR [stderr] at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:170) 12:29:50,191 ERROR [stderr] at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97) 12:29:50,191 ERROR [stderr] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 12:29:50,191 ERROR [stderr] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 12:29:50,192 ERROR [stderr] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) 12:29:50,192 ERROR [stderr] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 12:29:50,192 ERROR [stderr] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 12:29:50,192 ERROR [stderr] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 12:29:50,192 ERROR [stderr] at java.lang.Thread.run(Thread.java:748) 12:29:50,192 INFO [stdout] Now trying: File.createTempFile 12:29:50,193 INFO [stdout] outputDest: /var/folders/11/lsh29g8s2msbx_sv1j2zzg5c0000gn/T/ID-MacBook-1561976987280-0-1.opened3105164072945824679.hdfs
CrossRef: https://github.com/wildfly-extras/wildfly-camel/issues/2838