aboutsummaryrefslogtreecommitdiffstats
path: root/model-integration
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2021-01-25 19:41:42 +0100
committerLester Solbakken <lesters@oath.com>2021-01-25 19:41:42 +0100
commitbbb42508a50350c3099819276b33ec26f1323dd8 (patch)
treef48a8c85d694dfd9dd6511083fde6186313912e6 /model-integration
parente4fdb0a917b1cf6e06e06e97ff1c2dece61acb09 (diff)
Log skip of model import to deploy logger
Diffstat (limited to 'model-integration')
-rw-r--r--model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java
index c6ec3724b76..ebfe50c86f0 100644
--- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java
+++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java
@@ -1,6 +1,7 @@
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package ai.vespa.rankingexpression.importer.configmodelview;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.path.Path;
import java.io.File;
@@ -10,7 +11,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
-import java.util.logging.Logger;
+import java.util.logging.Level;
/**
* All models imported from the models/ directory in the application package.
@@ -21,11 +22,12 @@ import java.util.logging.Logger;
*/
public class ImportedMlModels {
- private static final Logger log = Logger.getLogger(ImportedMlModels.class.getName());
-
/** All imported models, indexed by their names */
private final Map<String, ImportedMlModel> importedModels;
+ /** Models that were not imported due to some error */
+ private final Map<String, String> skippedModels = new HashMap<>();
+
/** Create a null imported models */
public ImportedMlModels() {
importedModels = Collections.emptyMap();
@@ -35,7 +37,7 @@ public class ImportedMlModels {
Map<String, ImportedMlModel> models = new HashMap<>();
// Find all subdirectories recursively which contains a model we can read
- importRecursively(modelsDirectory, models, importers);
+ importRecursively(modelsDirectory, models, importers, skippedModels);
importedModels = Collections.unmodifiableMap(models);
}
@@ -56,9 +58,14 @@ public class ImportedMlModels {
return importedModels.values();
}
+ public Map<String, String> getSkippedModels() {
+ return skippedModels;
+ }
+
private static void importRecursively(File dir,
Map<String, ImportedMlModel> models,
- Collection<MlModelImporter> importers) {
+ Collection<MlModelImporter> importers,
+ Map<String, String> skippedModels) {
if ( ! dir.isDirectory()) return;
Arrays.stream(dir.listFiles()).sorted().forEach(child -> {
@@ -73,12 +80,11 @@ public class ImportedMlModels {
ImportedMlModel importedModel = importer.get().importModel(name, child);
models.put(name, importedModel);
} catch (RuntimeException e) {
- log.warning("Skipping import of model " + name + " as an exception occurred during import. " +
- "Error: " + e.getMessage());
+ skippedModels.put(name, e.getMessage());
}
}
else {
- importRecursively(child, models, importers);
+ importRecursively(child, models, importers, skippedModels);
}
});
}