diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-06-15 07:43:24 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-06-15 07:43:24 +0200 |
commit | 654a8aaddb1d5c6ad53d76a563eb7aa6f319500f (patch) | |
tree | 78906cc4dab9ea14c03a46d46b341cdc222d47ae /configserver | |
parent | bacf60aaa7829b319fe6b6d2c650429703b93260 (diff) |
Catch exception instead of checking for directory being null
Diffstat (limited to 'configserver')
2 files changed, 14 insertions, 4 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java index 0865b72dbbf..07a686a63bd 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java @@ -177,4 +177,10 @@ public class FileDirectory { destChannel.transferFrom(sourceChannel, 0, sourceChannel.size()); } } + + @Override + public String toString() { + return "root dir: " + root.getAbsolutePath(); + } + } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java index 7b8de20a5fd..3ea402c16ef 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java @@ -538,10 +538,14 @@ public class SessionRepository { log.log(Level.FINE, "File reference for session id " + sessionId + ": " + fileReference); if (fileReference != null) { File rootDir = new File(Defaults.getDefaults().underVespaHome(componentRegistry.getConfigserverConfig().fileReferencesDir())); - File sessionDir = new FileDirectory(rootDir).getFile(fileReference); - if (!sessionDir.exists()) { - // We cannot be guaranteed that the file reference exists (it could be that it has not been downloaded - // yet), and e.g when bootstrapping we cannot throw an exception if that is the case, so return instead + File sessionDir; + FileDirectory fileDirectory = new FileDirectory(rootDir); + try { + sessionDir = fileDirectory.getFile(fileReference); + } catch (IllegalArgumentException e) { + // We cannot be guaranteed that the file reference exists (it could be that it has not + // been downloaded yet), and e.g when bootstrapping we cannot throw an exception in that case + log.log(Level.INFO, "File reference for session id " + sessionId + ": " + fileReference + " not found in " + fileDirectory); return Optional.empty(); } ApplicationId applicationId = sessionZKClient.readApplicationId(); |