This is an automated email from the ASF dual-hosted git repository.

rdhabalia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new ec9dfa8  Delete temp file after submitting function (#2519)
ec9dfa8 is described below

commit ec9dfa8e2ec0af29f6a29d1ce5817d245164c533
Author: Rajan Dhabalia <[email protected]>
AuthorDate: Wed Sep 5 10:37:52 2018 -0700

    Delete temp file after submitting function (#2519)
---
 .../main/java/org/apache/pulsar/admin/cli/CmdFunctions.java    |  3 +--
 .../src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java    |  3 +--
 .../src/main/java/org/apache/pulsar/admin/cli/CmdSources.java  |  3 +--
 .../main/java/org/apache/pulsar/functions/worker/Utils.java    | 10 +++++++++-
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
index 99ef4dd..777ec93 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
@@ -501,8 +501,7 @@ public class CmdFunctions extends CmdBase {
                     // download jar file if url is http or file is downloadable
                     File tempPkgFile = null;
                     try {
-                        tempPkgFile = 
File.createTempFile(functionConfig.getName(), "function");
-                        downloadFromHttpUrl(functionConfig.getJar(), new 
FileOutputStream(tempPkgFile));
+                        tempPkgFile = 
downloadFromHttpUrl(functionConfig.getJar(), functionConfig.getName());
                         jarFilePath = tempPkgFile.getAbsolutePath();
                     } catch (Exception e) {
                         if (tempPkgFile != null) {
diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
index 3e49600..38a55bf 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
@@ -431,8 +431,7 @@ public class CmdSinks extends CmdBase {
                 if(sinkConfig.getArchive().startsWith(Utils.HTTP)) {
                     File tempPkgFile = null;
                     try {
-                        tempPkgFile = 
File.createTempFile(sinkConfig.getName(), "sink");
-                        downloadFromHttpUrl(sinkConfig.getArchive(), new 
FileOutputStream(tempPkgFile));
+                        tempPkgFile = 
downloadFromHttpUrl(sinkConfig.getArchive(), sinkConfig.getName());
                         archivePath = tempPkgFile.getAbsolutePath();
                     } catch(Exception e) {
                         if(tempPkgFile!=null ) {
diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
index db00b9f..fb32a6a 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
@@ -388,8 +388,7 @@ public class CmdSources extends CmdBase {
                 if(sourceConfig.getArchive().startsWith(Utils.HTTP)) {
                     File tempPkgFile = null;
                     try {
-                        tempPkgFile = 
File.createTempFile(sourceConfig.getName(), "source");
-                        downloadFromHttpUrl(sourceConfig.getArchive(), new 
FileOutputStream(tempPkgFile));
+                        tempPkgFile = 
downloadFromHttpUrl(sourceConfig.getArchive(), sourceConfig.getName());
                         archivePath = tempPkgFile.getAbsolutePath();
                     } catch(Exception e) {
                         if(tempPkgFile!=null ) {
diff --git 
a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/Utils.java
 
b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/Utils.java
index ec99b00..6487dcf 100644
--- 
a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/Utils.java
+++ 
b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/Utils.java
@@ -51,6 +51,7 @@ import org.apache.pulsar.functions.worker.dlog.DLOutputStream;
 import org.apache.zookeeper.KeeperException.Code;
 import org.apache.pulsar.functions.proto.Function;
 import static org.apache.pulsar.functions.utils.Utils.FILE;
+import static org.apache.pulsar.functions.worker.Utils.downloadFromHttpUrl;
 
 @Slf4j
 public final class Utils {
@@ -159,7 +160,14 @@ public final class Utils {
         ReadableByteChannel rbc = Channels.newChannel(website.openStream());
         outputStream.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
     }
-    
+
+    public static File downloadFromHttpUrl(String destPkgUrl, String fileName) 
throws IOException {
+        File tempPkgFile = File.createTempFile(fileName, "function");
+        tempPkgFile.deleteOnExit();
+        downloadFromHttpUrl(destPkgUrl, new FileOutputStream(tempPkgFile));
+        return tempPkgFile;
+    }
+
     public static void downloadFromBookkeeper(Namespace namespace,
                                                  OutputStream outputStream,
                                                  String packagePath) throws 
IOException {

Reply via email to