From fda447aef5ef5bbd6e3ed35e6d2719f9c59f02fc Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 21 Aug 2018 17:55:38 +0200 Subject: Import all signaturees --- .../expressiontransforms/ConvertedModel.java | 23 +++++----------------- .../expressiontransforms/OnnxFeatureConverter.java | 2 +- .../TensorFlowFeatureConverter.java | 2 +- .../RankingExpressionWithOnnxTestCase.java | 3 +-- .../RankingExpressionWithTensorFlowTestCase.java | 10 ++++------ .../config/server/http/HttpGetConfigHandler.java | 1 + .../com/yahoo/vespa/serviceview/ServiceModel.java | 13 ++++++------ .../restapi/application/ApplicationApiHandler.java | 12 ++++------- 8 files changed, 23 insertions(+), 43 deletions(-) diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java index a59de09af65..99e3ae8abdc 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java @@ -79,13 +79,12 @@ public class ConvertedModel { */ public ConvertedModel(Path modelPath, RankProfileTransformContext context, - ImportedModels importedModels, - FeatureArguments arguments) { // TODO: Remove + ImportedModels importedModels) { this.modelPath = modelPath; this.modelName = toModelName(modelPath); ModelStore store = new ModelStore(context.rankProfile().getSearch().sourceApplication(), modelPath); if ( store.hasSourceModel()) - expressions = convertModel(store, context.rankProfile(), context.queryProfiles(), importedModels, arguments); + expressions = convertModel(store, context.rankProfile(), context.queryProfiles(), importedModels); else expressions = transformFromStoredModel(store, context.rankProfile()); } @@ -93,10 +92,9 @@ public class ConvertedModel { private Map convertModel(ModelStore store, RankProfile profile, QueryProfileRegistry queryProfiles, - ImportedModels importedModels, - FeatureArguments arguments) { + ImportedModels importedModels) { ImportedModel model = importedModels.imported(store.modelFiles.modelName(), store.sourceModelDir()); - return transformFromImportedModel(model, store, profile, queryProfiles, arguments); + return transformFromImportedModel(model, store, profile, queryProfiles); } /** Returns the expression matching the given arguments */ @@ -136,8 +134,7 @@ public class ConvertedModel { private Map transformFromImportedModel(ImportedModel model, ModelStore store, RankProfile profile, - QueryProfileRegistry queryProfiles, - FeatureArguments arguments) { + QueryProfileRegistry queryProfiles) { // Add constants Set constantsReplacedByMacros = new HashSet<>(); model.smallConstants().forEach((k, v) -> transformSmallConstant(store, profile, k, v)); @@ -150,10 +147,7 @@ public class ConvertedModel { // Add expressions Map expressions = new HashMap<>(); for (Map.Entry signatureEntry : model.signatures().entrySet()) { - if ( ! matches(signatureEntry.getValue(), arguments, Optional.empty())) continue; - for (Map.Entry outputEntry : signatureEntry.getValue().outputs().entrySet()) { - if ( ! matches(signatureEntry.getValue(), arguments, Optional.of(outputEntry.getKey()))) continue; addExpression(model.expressions().get(outputEntry.getValue()), modelName + "." + signatureEntry.getKey() + "." + outputEntry.getKey(), constantsReplacedByMacros, @@ -196,13 +190,6 @@ public class ConvertedModel { return expressions; } - private boolean matches(ImportedModel.Signature signature, FeatureArguments arguments, Optional output) { - if ( ! modelName.equals(arguments.modelName)) return false; - if ( arguments.signature.isPresent() && ! signature.name().equals(arguments.signature().get())) return false; - if (output.isPresent() && arguments.output().isPresent() && ! output.get().matches(arguments.output().get())) return false; - return true; - } - private void addExpression(RankingExpression expression, String expressionName, Set constantsReplacedByMacros, diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/OnnxFeatureConverter.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/OnnxFeatureConverter.java index 8005608f070..51c44f4066e 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/OnnxFeatureConverter.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/OnnxFeatureConverter.java @@ -45,7 +45,7 @@ public class OnnxFeatureConverter extends ExpressionTransformerSteinar Knutsen + * @author Steinar Knutsen */ public final class ServiceModel { + private static final String CLUSTERCONTROLLER_TYPENAME = "container-clustercontroller"; private static final String CONTENT_CLUSTER_TYPENAME = "content"; @@ -61,9 +62,8 @@ public final class ServiceModel { List identifiers = s.getIdentifiers(); for (String identifier : identifiers) { if (seenIdentifiers.containsKey(identifier)) { - throw new RuntimeException( - "Congrats, you have a publishable result. We have a very unexpected hash collision" + " between " - + seenIdentifiers.get(identifier) + " and " + s + "."); + throw new RuntimeException("Hash collision" + " between " + + seenIdentifiers.get(identifier) + " and " + s + "."); } seenIdentifiers.put(identifier, s); } @@ -74,9 +74,8 @@ public final class ServiceModel { servicesMap = servicesBuilder.build(); } - private static void addService(Table> services, - String hostName, - com.yahoo.vespa.serviceview.bindings.Service s) { + private static void addService(Table> services, String hostName, + com.yahoo.vespa.serviceview.bindings.Service s) { boolean hasStateApi = false; int statePort = 0; List ports = new ArrayList<>(s.ports.size()); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index 26df4efa3c1..3391eee4d62 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -172,18 +172,14 @@ public class ApplicationApiHandler extends LoggingRequestHandler { if (path.matches("/application/v4/tenant/{tenant}")) return tenant(path.get("tenant"), request); if (path.matches("/application/v4/tenant/{tenant}/application")) return applications(path.get("tenant"), request); if (path.matches("/application/v4/tenant/{tenant}/application/{application}")) return application(path.get("tenant"), path.get("application"), request); - if (path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/job")) - return JobControllerApiHandlerHelper.jobTypeResponse(jobTypes(path), latestRuns(path), request.getUri()); - if (path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/job/{jobtype}")) - return JobControllerApiHandlerHelper.runResponse(controller.jobController().runs(appIdFromPath(path), jobTypeFromPath(path)), request.getUri()); - if (path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/job/{jobtype}/run/{number}")) - return JobControllerApiHandlerHelper.runDetailsResponse(controller.jobController(), runIdFromPath(path)); + if (path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/job")) return JobControllerApiHandlerHelper.jobTypeResponse(jobTypes(path), latestRuns(path), request.getUri()); + if (path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/job/{jobtype}")) return JobControllerApiHandlerHelper.runResponse(controller.jobController().runs(appIdFromPath(path), jobTypeFromPath(path)), request.getUri()); + if (path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/job/{jobtype}/run/{number}")) return JobControllerApiHandlerHelper.runDetailsResponse(controller.jobController(), runIdFromPath(path)); if (path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{instance}")) return deployment(path.get("tenant"), path.get("application"), path.get("instance"), path.get("environment"), path.get("region"), request); if (path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{instance}/service")) return services(path.get("tenant"), path.get("application"), path.get("instance"), path.get("environment"), path.get("region"), request); if (path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{instance}/service/{service}/{*}")) return service(path.get("tenant"), path.get("application"), path.get("instance"), path.get("environment"), path.get("region"), path.get("service"), path.getRest(), request); if (path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{instance}/global-rotation")) return rotationStatus(path.get("tenant"), path.get("application"), path.get("instance"), path.get("environment"), path.get("region")); - if (path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{instance}/global-rotation/override")) - return getGlobalRotationOverride(path.get("tenant"), path.get("application"), path.get("instance"), path.get("environment"), path.get("region")); + if (path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/instance/{instance}/global-rotation/override")) return getGlobalRotationOverride(path.get("tenant"), path.get("application"), path.get("instance"), path.get("environment"), path.get("region")); return ErrorResponse.notFoundError("Nothing at " + path); } -- cgit v1.2.3