diff options
author | Tor Egge <Tor.Egge@yahooinc.com> | 2023-07-10 15:28:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-10 15:28:52 +0200 |
commit | 7f0e4c1d88d068d09b3c4d0100f5a9206bfafbaf (patch) | |
tree | 58d9ff127e008589be29b54d04ba8b1ac4eb28f5 /config-model/src/main | |
parent | c67b3bb2f3da442c0e4645157319c06f37761916 (diff) | |
parent | 4e5814778ac43143d42e6ce0336df8976a0ba48b (diff) |
Merge pull request #27655 from vespa-engine/arnej/defensive-constant-tensor-loader
Arnej/defensive constant tensor loader
Diffstat (limited to 'config-model/src/main')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/application/validation/ConstantTensorJsonValidator.java | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ConstantTensorJsonValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ConstantTensorJsonValidator.java index df3cd4103d9..92c9eccf2d3 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ConstantTensorJsonValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ConstantTensorJsonValidator.java @@ -112,9 +112,8 @@ public class ConstantTensorJsonValidator { consumeTopObject(); return; } else if (isScalar()) { - if (top == JsonToken.VALUE_NUMBER_FLOAT || top == JsonToken.VALUE_NUMBER_INT) { - return; - } + throw new InvalidConstantTensorException( + parser, String.format("Invalid type %s: Only tensors with dimensions can be stored as file constants", tensorType.toString())); } throw new InvalidConstantTensorException( parser, String.format("Unexpected first token '%s' for constant with type %s", @@ -315,14 +314,6 @@ public class ConstantTensorJsonValidator { } } - private void assertFieldNameIs(String wantedFieldName) throws IOException { - String actualFieldName = parser.getCurrentName(); - - if (!actualFieldName.equals(wantedFieldName)) { - throw new InvalidConstantTensorException(parser, String.format("Expected field name '%s', got '%s'", wantedFieldName, actualFieldName)); - } - } - static class InvalidConstantTensorException extends IllegalArgumentException { InvalidConstantTensorException(JsonParser parser, String message) { @@ -338,19 +329,6 @@ public class ConstantTensorJsonValidator { } } - @FunctionalInterface - private interface SubroutineThrowingIOException { - void invoke() throws IOException; - } - - private void wrapIOException(SubroutineThrowingIOException lambda) { - try { - lambda.invoke(); - } catch (IOException e) { - throw new InvalidConstantTensorException(parser, e); - } - } - private void consumeValuesNesting(int level) throws IOException { assertCurrentTokenIs(JsonToken.START_ARRAY); if (level >= denseDims.size()) { |