diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-12-07 15:58:04 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-12-07 15:58:04 +0100 |
commit | 24ec352f4288afd36a6da2e8577221e0fdccda84 (patch) | |
tree | 4a23d11048f5035dcaa9db8c7a1c1fb7a8c93e63 /configserver/src/main | |
parent | b9b0b7d153cde0f6d023d849c8ffdcefb533a277 (diff) |
Use different threadsPools for push and pull.
Diffstat (limited to 'configserver/src/main')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java index 90792759d2c..a8a6b4d6776 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java @@ -33,7 +33,8 @@ public class FileServer { private static final Logger log = Logger.getLogger(FileServer.class.getName()); private final FileDirectory root; - private final ExecutorService executor; + private final ExecutorService pushExecutor; + private final ExecutorService pullExecutor; private final FileDownloader downloader; private enum FileApiErrorCodes { @@ -78,7 +79,8 @@ public class FileServer { private FileServer(ConnectionPool connectionPool, File rootDir) { this.downloader = new FileDownloader(connectionPool); this.root = new FileDirectory(rootDir); - this.executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); + this.pushExecutor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); + this.pullExecutor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); } public boolean hasFile(String fileName) { @@ -97,7 +99,7 @@ public class FileServer { File file = root.getFile(reference); if (file.exists()) { - executor.execute(() -> serveFile(reference, target)); + pushExecutor.execute(() -> serveFile(reference, target)); } return false; } @@ -139,7 +141,7 @@ public class FileServer { return new FileReferenceData(reference, file.getName(), type, blob); } public void serveFile(Request request, Receiver receiver) { - executor.execute(() -> serveFile(request.parameters().get(0).asString(), request, receiver)); + pullExecutor.execute(() -> serveFile(request.parameters().get(0).asString(), request, receiver)); } private void serveFile(String fileReference, Request request, Receiver receiver) { FileApiErrorCodes result; |