diff options
author | Lester Solbakken <lesters@oath.com> | 2021-01-25 19:41:42 +0100 |
---|---|---|
committer | Lester Solbakken <lesters@oath.com> | 2021-01-25 19:41:42 +0100 |
commit | bbb42508a50350c3099819276b33ec26f1323dd8 (patch) | |
tree | f48a8c85d694dfd9dd6511083fde6186313912e6 /model-integration/src | |
parent | e4fdb0a917b1cf6e06e06e97ff1c2dece61acb09 (diff) |
Log skip of model import to deploy logger
Diffstat (limited to 'model-integration/src')
-rw-r--r-- | model-integration/src/main/java/ai/vespa/rankingexpression/importer/configmodelview/ImportedMlModels.java | 22 |
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); } }); } |