summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-01-13 14:28:45 +0100
committerHarald Musum <musum@yahooinc.com>2023-01-13 14:28:45 +0100
commit537511f7566889ed5253332eec8eea9ff1d638ac (patch)
tree144d920f6e114e7f7a371256ceb23ca10b932e14
parent45bcd747f2affce11d670f4457678be4b0931aea (diff)
Rethrow exception when building config if file reference does not exist
-rw-r--r--config/src/main/java/com/yahoo/vespa/config/ConfigPayloadApplier.java4
-rw-r--r--config/src/main/java/com/yahoo/vespa/config/FileReferenceDoesNotExistException.java (renamed from fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileReferenceDoesNotExistException.java)4
-rw-r--r--fileacquirer/abi-spec.json11
-rw-r--r--fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirer.java1
-rw-r--r--fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirerImpl.java21
-rw-r--r--fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/MockFileAcquirer.java1
-rw-r--r--fileacquirer/src/test/java/MockFileAcquirerTest.java4
7 files changed, 21 insertions, 25 deletions
diff --git a/config/src/main/java/com/yahoo/vespa/config/ConfigPayloadApplier.java b/config/src/main/java/com/yahoo/vespa/config/ConfigPayloadApplier.java
index 1e90f3974a5..3705c167960 100644
--- a/config/src/main/java/com/yahoo/vespa/config/ConfigPayloadApplier.java
+++ b/config/src/main/java/com/yahoo/vespa/config/ConfigPayloadApplier.java
@@ -10,7 +10,6 @@ import com.yahoo.slime.ArrayTraverser;
import com.yahoo.slime.Inspector;
import com.yahoo.slime.ObjectTraverser;
import com.yahoo.slime.Type;
-
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
@@ -21,7 +20,6 @@ import java.nio.file.Path;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import java.util.Optional;
import java.util.Set;
import java.util.Stack;
import java.util.logging.Logger;
@@ -60,6 +58,8 @@ public class ConfigPayloadApplier<T extends ConfigInstance.Builder> {
stack.push(new NamedBuilder(rootBuilder));
try {
handleValue(payload.getSlime().get());
+ } catch (FileReferenceDoesNotExistException e) {
+ throw e;
} catch (Exception e) {
throw new RuntimeException("Not able to create config builder for payload '" + payload.toString() + "'", e);
}
diff --git a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileReferenceDoesNotExistException.java b/config/src/main/java/com/yahoo/vespa/config/FileReferenceDoesNotExistException.java
index 95aa07d14a7..b8767e6deb1 100644
--- a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileReferenceDoesNotExistException.java
+++ b/config/src/main/java/com/yahoo/vespa/config/FileReferenceDoesNotExistException.java
@@ -1,5 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.filedistribution.fileacquirer;
+package com.yahoo.vespa.config;
/**
* @author Tony Vaagenes
@@ -8,7 +8,7 @@ public class FileReferenceDoesNotExistException extends RuntimeException {
public final String fileReference;
- FileReferenceDoesNotExistException(String fileReference) {
+ public FileReferenceDoesNotExistException(String fileReference) {
super("Could not retrieve file with file reference '" + fileReference + "'");
this.fileReference = fileReference;
}
diff --git a/fileacquirer/abi-spec.json b/fileacquirer/abi-spec.json
index 560d1fb7a16..63e3ba71f2d 100644
--- a/fileacquirer/abi-spec.json
+++ b/fileacquirer/abi-spec.json
@@ -25,17 +25,6 @@
],
"fields" : [ ]
},
- "com.yahoo.filedistribution.fileacquirer.FileReferenceDoesNotExistException" : {
- "superClass" : "java.lang.RuntimeException",
- "interfaces" : [ ],
- "attributes" : [
- "public"
- ],
- "methods" : [ ],
- "fields" : [
- "public final java.lang.String fileReference"
- ]
- },
"com.yahoo.filedistribution.fileacquirer.MockFileAcquirer" : {
"superClass" : "java.lang.Object",
"interfaces" : [
diff --git a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirer.java b/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirer.java
index 03650963f96..3f25273334a 100644
--- a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirer.java
+++ b/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirer.java
@@ -2,6 +2,7 @@
package com.yahoo.filedistribution.fileacquirer;
import com.yahoo.config.FileReference;
+import com.yahoo.vespa.config.FileReferenceDoesNotExistException;
import java.io.File;
import java.util.concurrent.TimeUnit;
diff --git a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirerImpl.java b/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirerImpl.java
index 5d6477cd927..9fe876d358a 100644
--- a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirerImpl.java
+++ b/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/FileAcquirerImpl.java
@@ -2,18 +2,23 @@
package com.yahoo.filedistribution.fileacquirer;
import com.yahoo.cloud.config.filedistribution.FiledistributorrpcConfig;
-import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.config.FileReference;
-import com.yahoo.jrt.*;
-
+import com.yahoo.config.subscription.ConfigSubscriber;
+import com.yahoo.jrt.ErrorCode;
+import com.yahoo.jrt.Request;
+import com.yahoo.jrt.Spec;
+import com.yahoo.jrt.StringValue;
+import com.yahoo.jrt.Supervisor;
+import com.yahoo.jrt.Target;
+import com.yahoo.jrt.Transport;
+import com.yahoo.vespa.config.FileReferenceDoesNotExistException;
+import java.io.File;
import java.time.Duration;
-import java.util.logging.Level;
-
-import java.util.logging.Logger;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
-import java.util.concurrent.TimeUnit;
-import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Retrieves the path to a file or directory on the local file system
diff --git a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/MockFileAcquirer.java b/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/MockFileAcquirer.java
index 744c49629e9..e393cf7bc4e 100644
--- a/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/MockFileAcquirer.java
+++ b/fileacquirer/src/main/java/com/yahoo/filedistribution/fileacquirer/MockFileAcquirer.java
@@ -2,6 +2,7 @@
package com.yahoo.filedistribution.fileacquirer;
import com.yahoo.config.FileReference;
+import com.yahoo.vespa.config.FileReferenceDoesNotExistException;
import java.io.File;
import java.util.Map;
import java.util.concurrent.TimeUnit;
diff --git a/fileacquirer/src/test/java/MockFileAcquirerTest.java b/fileacquirer/src/test/java/MockFileAcquirerTest.java
index 9a505118c31..dc8908249e0 100644
--- a/fileacquirer/src/test/java/MockFileAcquirerTest.java
+++ b/fileacquirer/src/test/java/MockFileAcquirerTest.java
@@ -1,11 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
import com.yahoo.config.FileReference;
import com.yahoo.filedistribution.fileacquirer.FileAcquirer;
-import com.yahoo.filedistribution.fileacquirer.FileReferenceDoesNotExistException;
import com.yahoo.filedistribution.fileacquirer.MockFileAcquirer;
import com.yahoo.filedistribution.fileacquirer.TimeoutException;
+import com.yahoo.vespa.config.FileReferenceDoesNotExistException;
import org.junit.Test;
-
import java.io.File;
import java.lang.reflect.Constructor;
import java.util.HashMap;