diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-01-14 08:10:43 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-01-14 08:10:43 +0100 |
commit | 7f3ba63a648f35e0bf9246a1c36da29e840d1031 (patch) | |
tree | 02397bbcdda339037298139130c18827b2e0c378 /filedistribution | |
parent | 7250e7a5cfafaa8e52a56c7990437be740761093 (diff) |
Make sure to shutdown executor
Diffstat (limited to 'filedistribution')
3 files changed, 17 insertions, 3 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java index 1a84e4895e8..24b3fcac3e3 100644 --- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java +++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java @@ -142,4 +142,8 @@ public class FileDownloader { public FileReferenceDownloader fileReferenceDownloader() { return fileReferenceDownloader; } + + public void close() { + fileReferenceDownloader.close(); + } } diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java index 985b9a0069e..66b86866c3e 100644 --- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java +++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java @@ -20,6 +20,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; @@ -30,7 +31,6 @@ import java.util.logging.Logger; * * @author hmusum */ -// TODO: Handle shutdown of executors public class FileReferenceDownloader { private final static Logger log = Logger.getLogger(FileReferenceDownloader.class.getName()); @@ -194,7 +194,11 @@ public class FileReferenceDownloader { return connectionPool; } - public Duration getDownloadTimeout() { - return downloadTimeout; + public void close() { + try { + downloadExecutor.awaitTermination(1, TimeUnit.SECONDS); + } catch (InterruptedException e) { + Thread.interrupted(); // Ignore and continue shutdown. + } } } diff --git a/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileDownloaderTest.java b/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileDownloaderTest.java index cab3a490a13..d1d12cb07b7 100644 --- a/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileDownloaderTest.java +++ b/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileDownloaderTest.java @@ -15,6 +15,7 @@ import com.yahoo.vespa.config.Connection; import com.yahoo.vespa.config.ConnectionPool; import net.jpountz.xxhash.XXHash64; import net.jpountz.xxhash.XXHashFactory; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -53,6 +54,11 @@ public class FileDownloaderTest { } } + @After + public void teardown() { + fileDownloader.close(); + } + @Test public void getFile() throws IOException { File downloadDir = fileDownloader.downloadDirectory(); |