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 {