diff options
author | Harald Musum <musum@oath.com> | 2018-03-15 13:44:14 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-03-15 13:44:14 +0100 |
commit | 0171cc7bab6e7b5a0e399016bf591f1e1c21c80a (patch) | |
tree | 057259afb838e8fdb604e151c31433934d71eff1 /configserver | |
parent | ebb5360cfff995ddb04df95c684d03718017a08e (diff) |
Catch exception and log and make sure to close any file data
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java | 12 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java | 8 |
2 files changed, 13 insertions, 7 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 c9859cc79d3..ea3c9b97465 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 @@ -22,6 +22,7 @@ import com.yahoo.vespa.filedistribution.FileDownloader; import com.yahoo.vespa.filedistribution.FileReferenceData; import com.yahoo.vespa.filedistribution.FileReferenceDataBlob; import com.yahoo.vespa.filedistribution.LazyFileReferenceData; +import com.yahoo.yolean.Exceptions; import java.io.File; import java.io.IOException; @@ -119,9 +120,14 @@ public class FileServer { log.warning(errorDescription + " for sending to '" + target.toString() + "'. " + e.toString()); } - target.receive(fileData, new ReplayStatus(success ? 0 : 1, success ? "OK" : errorDescription)); - fileData.close(); - log.log(LogLevel.DEBUG, "Done serving reference '" + reference.toString() + "' with file '" + file.getAbsolutePath() + "'"); + try { + target.receive(fileData, new ReplayStatus(success ? 0 : 1, success ? "OK" : errorDescription)); + log.log(LogLevel.DEBUG, "Done serving reference '" + reference.toString() + "' with file '" + file.getAbsolutePath() + "'"); + } catch (Exception e) { + log.log(LogLevel.WARNING, "Failed serving file: " + Exceptions.toMessageString(e)); + } finally { + fileData.close(); + } } private FileReferenceData readFileReferenceData(FileReference reference) throws IOException { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java index d42468ec8fd..33b7eb928e9 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java @@ -96,7 +96,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener { private final MetricUpdaterFactory metricUpdaterFactory; private final HostLivenessTracker hostLivenessTracker; private final FileServer fileServer; - + private final ThreadPoolExecutor executorService; private final FileDownloader downloader; private volatile boolean allTenantsLoaded = false; @@ -131,7 +131,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener { } /** - * Called by reflection from RCP. + * Called by reflection from RPC. * Handles RPC method "config.v3.getConfig" requests. * Uses the template pattern to call methods in classes that extend RpcServer. */ @@ -147,7 +147,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener { } /** - * Called by reflection from RCP. + * Called by reflection from RPC. * Returns 0 if server is alive. */ @SuppressWarnings("UnusedDeclaration") @@ -156,7 +156,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener { } /** - * Called by reflection from RCP. + * Called by reflection from RPC. * Returns a String with statistics data for the server. * * @param req a Request |