From 2c2150014708e6bd2522ee4525f36195d911acae Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Sun, 18 Aug 2019 20:36:00 +0800 Subject: [PATCH] prevent fd leakage when WorkerUtils.downloadFromBookkeeper (#4970) Fixes #4969 ### Motivation close `FileOutputStream` after `WorkerUtils.downloadFromBookkeeper` --- .../apache/pulsar/functions/worker/FunctionActioner.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 e4600f97d6f..7262007697f 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 { -- GitLab