diff --git a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/FunctionActioner.java b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/FunctionActioner.java index e4600f97d6f8232e0cec9a246fbf2342cf11fcba..7262007697f06c09e50d0ad2689851d74042425b 100644 --- a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/FunctionActioner.java +++ b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/FunctionActioner.java @@ -219,10 +219,14 @@ public class FunctionActioner { if(downloadFromHttp) { FunctionCommon.downloadFromHttpUrl(pkgLocationPath, tempPkgFile); } else { + FileOutputStream tempPkgFos = new FileOutputStream(tempPkgFile); WorkerUtils.downloadFromBookkeeper( dlogNamespace, - new FileOutputStream(tempPkgFile), + tempPkgFos, pkgLocationPath); + if (tempPkgFos != null) { + tempPkgFos.close(); + } } try {