diff options
14 files changed, 43 insertions, 46 deletions
diff --git a/application/src/main/java/com/yahoo/application/Application.java b/application/src/main/java/com/yahoo/application/Application.java index 64ced48edd3..f7b5174b0e5 100644 --- a/application/src/main/java/com/yahoo/application/Application.java +++ b/application/src/main/java/com/yahoo/application/Application.java @@ -46,7 +46,7 @@ public final class Application implements AutoCloseable { /** * This system property is set to "true" upon creation of an Application. - * This is useful for components which are created by dependendy injection which needs to modify + * This is useful for components which are created by dependendcy injection which needs to modify * their behavior to function without reliance on any processes outside the JVM. */ public static final String vespaLocalProperty = "vespa.local"; @@ -142,6 +142,7 @@ public final class Application implements AutoCloseable { */ @Beta public static class Builder { + private static final ThreadLocal<Random> random = new ThreadLocal<>(); private static final String DEFAULT_CHAIN = "default"; @@ -217,7 +218,7 @@ public final class Application implements AutoCloseable { } // copy from com.yahoo.application.ApplicationBuilder - private void createFile(final Path path, final String content) throws IOException { + private void createFile(Path path, String content) throws IOException { Files.createDirectories(path.getParent()); Files.write(path, Utf8.toBytes(content)); } @@ -237,16 +238,15 @@ public final class Application implements AutoCloseable { /** * @param name name of document type (search definition) * @param searchDefinition add this search definition to the application - * @return builder * @throws java.io.IOException e.g.if file not found */ - public Builder documentType(final String name, final String searchDefinition) throws IOException { + public Builder documentType(String name, String searchDefinition) throws IOException { Path path = nestedResource(ApplicationPackage.SEARCH_DEFINITIONS_DIR, name, ApplicationPackage.SD_NAME_SUFFIX); createFile(path, searchDefinition); return this; } - public Builder expressionInclude(final String name, final String searchDefinition) throws IOException { + public Builder expressionInclude(String name, String searchDefinition) throws IOException { Path path = nestedResource(ApplicationPackage.SEARCH_DEFINITIONS_DIR, name, ApplicationPackage.RANKEXPRESSION_NAME_SUFFIX); createFile(path, searchDefinition); return this; @@ -255,10 +255,9 @@ public final class Application implements AutoCloseable { /** * @param name name of rank expression * @param rankExpressionContent add this rank expression to the application - * @return builder * @throws java.io.IOException e.g.if file not found */ - public Builder rankExpression(final String name, final String rankExpressionContent) throws IOException { + public Builder rankExpression(String name, String rankExpressionContent) throws IOException { Path path = nestedResource(ApplicationPackage.SEARCH_DEFINITIONS_DIR, name, ApplicationPackage.RANKEXPRESSION_NAME_SUFFIX); createFile(path, rankExpressionContent); return this; @@ -270,7 +269,7 @@ public final class Application implements AutoCloseable { * @return builder * @throws java.io.IOException e.g.if file not found */ - public Builder queryProfile(final String name, final String queryProfile) throws IOException { + public Builder queryProfile(String name, String queryProfile) throws IOException { Path path = nestedResource(ApplicationPackage.QUERY_PROFILES_DIR, name, ".xml"); createFile(path, queryProfile); return this; @@ -282,14 +281,14 @@ public final class Application implements AutoCloseable { * @return builder * @throws java.io.IOException e.g.if file not found */ - public Builder queryProfileType(final String name, final String queryProfileType) throws IOException { + public Builder queryProfileType(String name, String queryProfileType) throws IOException { Path path = nestedResource(ApplicationPackage.QUERY_PROFILE_TYPES_DIR, name, ".xml"); createFile(path, queryProfileType); return this; } // copy from com.yahoo.application.ApplicationBuilder - private Path nestedResource(final com.yahoo.path.Path nestedPath, final String name, final String fileType) { + private Path nestedResource(com.yahoo.path.Path nestedPath, String name, String fileType) { String nameWithoutSuffix = StringUtilities.stripSuffix(name, fileType); return path.resolve(nestedPath.getRelative()).resolve(nameWithoutSuffix + fileType); } @@ -298,7 +297,7 @@ public final class Application implements AutoCloseable { * @param networking enable or disable networking (disabled by default) * @return builder */ - public Builder networking(final Networking networking) { + public Builder networking(Networking networking) { this.networking = networking; return this; } @@ -335,15 +334,14 @@ public final class Application implements AutoCloseable { private void generateXml() throws Exception { try (PrintWriter xml = new PrintWriter(Files.newOutputStream(path.resolve("services.xml")))) { xml.println("<?xml version=\"1.0\" encoding=\"utf-8\" ?>"); - //xml.println("<services version=\"1.0\">"); for (Map.Entry<String, Container> entry : containers.entrySet()) { entry.getValue().build(xml, entry.getKey(), (networking == Networking.enable ? getRandomPort() : -1)); } - //xml.println("</services>"); } } public static class Container { + private final Map<String, List<ComponentItem<? extends DocumentProcessor>>> docprocs = new LinkedHashMap<>(); private final Map<String, List<ComponentItem<? extends Searcher>>> searchers = new LinkedHashMap<>(); private final List<ComponentItem<? extends Renderer>> renderers = new ArrayList<>(); @@ -372,7 +370,7 @@ public final class Application implements AutoCloseable { * @param docproc add this docproc to the default document processing chain * @return builder */ - public Container documentProcessor(final Class<? extends DocumentProcessor> docproc) { + public Container documentProcessor(Class<? extends DocumentProcessor> docproc) { return documentProcessor(DEFAULT_CHAIN, docproc); } @@ -382,7 +380,7 @@ public final class Application implements AutoCloseable { * @param configs local docproc configs * @return builder */ - public Container documentProcessor(final String chainName, final Class<? extends DocumentProcessor> docproc, ConfigInstance... configs) { + public Container documentProcessor(String chainName, Class<? extends DocumentProcessor> docproc, ConfigInstance... configs) { return documentProcessor(docproc.getName(), chainName, docproc, configs); } @@ -393,7 +391,7 @@ public final class Application implements AutoCloseable { * @param configs local docproc configs * @return builder */ - public Container documentProcessor(String id, final String chainName, final Class<? extends DocumentProcessor> docproc, ConfigInstance... configs) { + public Container documentProcessor(String id, String chainName, Class<? extends DocumentProcessor> docproc, ConfigInstance... configs) { List<ComponentItem<? extends DocumentProcessor>> chain = docprocs.get(chainName); if (chain == null) { chain = new ArrayList<>(); @@ -416,7 +414,7 @@ public final class Application implements AutoCloseable { * @param searcher add this searcher to the default search chain * @return builder */ - public Container searcher(final Class<? extends Searcher> searcher) { + public Container searcher(Class<? extends Searcher> searcher) { return searcher(DEFAULT_CHAIN, searcher); } @@ -426,7 +424,7 @@ public final class Application implements AutoCloseable { * @param configs local searcher configs * @return builder */ - public Container searcher(final String chainName, final Class<? extends Searcher> searcher, ConfigInstance... configs) { + public Container searcher(String chainName, Class<? extends Searcher> searcher, ConfigInstance... configs) { return searcher(searcher.getName(), chainName, searcher, configs); } @@ -437,7 +435,7 @@ public final class Application implements AutoCloseable { * @param configs local searcher configs * @return builder */ - public Container searcher(String id, final String chainName, final Class<? extends Searcher> searcher, ConfigInstance... configs) { + public Container searcher(String id, String chainName, Class<? extends Searcher> searcher, ConfigInstance... configs) { List<ComponentItem<? extends Searcher>> chain = searchers.get(chainName); if (chain == null) { chain = new ArrayList<>(); @@ -453,7 +451,7 @@ public final class Application implements AutoCloseable { * @param configs local renderer configs * @return builder */ - public Container renderer(String id, final Class<? extends Renderer> renderer, ConfigInstance... configs) { + public Container renderer(String id, Class<? extends Renderer> renderer, ConfigInstance... configs) { renderers.add(new ComponentItem<>(id, renderer, configs)); return this; } @@ -463,7 +461,7 @@ public final class Application implements AutoCloseable { * @param handler the handler class * @return builder */ - public Container handler(final String binding, final Class<? extends RequestHandler> handler) { + public Container handler(String binding, Class<? extends RequestHandler> handler) { handlers.add(new ComponentItem<>(binding, handler)); return this; } @@ -473,7 +471,7 @@ public final class Application implements AutoCloseable { * @param client the client class * @return builder */ - public Container client(final String binding, final Class<? extends ClientProvider> client) { + public Container client(String binding, Class<? extends ClientProvider> client) { clients.add(new ComponentItem<>(binding, client)); return this; } @@ -483,7 +481,7 @@ public final class Application implements AutoCloseable { * @param server the server class * @return builder */ - public Container server(final String id, final Class<? extends ServerProvider> server) { + public Container server(String id, Class<? extends ServerProvider> server) { servers.add(new ComponentItem<>(id, server)); return this; } @@ -492,7 +490,7 @@ public final class Application implements AutoCloseable { * @param component make this component available to the container * @return builder */ - public Container component(final Class<?> component) { + public Container component(Class<?> component) { return component(component.getName(), component, (ConfigInstance) null); } @@ -500,7 +498,7 @@ public final class Application implements AutoCloseable { * @param component make this component available to the container * @return builder */ - public Container component(String id, final Class<?> component, ConfigInstance... configs) { + public Container component(String id, Class<?> component, ConfigInstance... configs) { components.add(new ComponentItem<>(id, component, configs)); return this; } diff --git a/application/src/main/java/com/yahoo/application/container/JDisc.java b/application/src/main/java/com/yahoo/application/container/JDisc.java index 45c7b66ac5e..10ff84d3ede 100644 --- a/application/src/main/java/com/yahoo/application/container/JDisc.java +++ b/application/src/main/java/com/yahoo/application/container/JDisc.java @@ -21,6 +21,7 @@ import com.yahoo.jdisc.handler.RequestHandler; import com.yahoo.jdisc.test.TestDriver; import com.yahoo.processing.handler.ProcessingHandler; import com.yahoo.search.handler.SearchHandler; +import com.yahoo.search.searchchain.ExecutionFactory; import java.nio.file.Path; @@ -41,7 +42,7 @@ public final class JDisc implements AutoCloseable { @SuppressWarnings("unused") private final StandaloneContainerApplication application; - private final Container container = Container.get(); // TODO: This is indeed temporary ... *3 years later* Indeed. + private final Container container = Container.get(); // TODO: This is indeed temporary ... *3 years later* indeed. private final Path path; private final boolean deletePathWhenClosing; @@ -55,7 +56,7 @@ public final class JDisc implements AutoCloseable { application = (StandaloneContainerApplication) testDriver.application(); } - private Module bindings(final Path path, final ConfigModelRepo configModelRepo, final Networking networking) { + private Module bindings(Path path, ConfigModelRepo configModelRepo, Networking networking) { return new AbstractModule() { @Override protected void configure() { diff --git a/application/src/main/java/com/yahoo/application/container/Search.java b/application/src/main/java/com/yahoo/application/container/Search.java index f0a61bc6c10..0e241c27949 100644 --- a/application/src/main/java/com/yahoo/application/container/Search.java +++ b/application/src/main/java/com/yahoo/application/container/Search.java @@ -41,7 +41,6 @@ public final class Search extends ProcessingBase<Query, Result, Searcher> { } @Override - @SuppressWarnings("deprecation") protected ListenableFuture<Boolean> doProcessAndRender(ComponentSpecification chainSpec, Query request, Renderer<Result> renderer, @@ -51,7 +50,6 @@ public final class Search extends ProcessingBase<Query, Result, Searcher> { } @Override - @SuppressWarnings("deprecation") protected Renderer<Result> doGetRenderer(ComponentSpecification spec) { return handler.getRendererCopy(spec); } diff --git a/application/src/test/java/com/yahoo/application/ApplicationTest.java b/application/src/test/java/com/yahoo/application/ApplicationTest.java index 3227b579832..b6e59f7d4cd 100644 --- a/application/src/test/java/com/yahoo/application/ApplicationTest.java +++ b/application/src/test/java/com/yahoo/application/ApplicationTest.java @@ -61,8 +61,9 @@ public class ApplicationTest { try (Application application = Application.fromApplicationPackage(new File("src/test/app-packages/withcontent"), Networking.disable)) { Result result = application.getJDisc("default").search().process(new ComponentSpecification("default"), - new Query("?query=substring:foobar&tracelevel=3")); - assertEquals("AND substring:fo substring:oo substring:ob substring:ba substring:ar", result.hits().get("hasQuery").getQuery().getModel().getQueryTree().toString()); + new Query("?query=substring:foobar&tracelevel=3")); + assertEquals("AND substring:fo substring:oo substring:ob substring:ba substring:ar", + result.hits().get("hasQuery").getQuery().getModel().getQueryTree().toString()); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 23083bc6176..47adac637ee 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -504,7 +504,7 @@ public abstract class ContainerCluster<CONTAINER extends Container> @Override public void getConfig(QrSearchersConfig.Builder builder) { - if (containerSearch!=null) containerSearch.getConfig(builder); + if (containerSearch != null) containerSearch.getConfig(builder); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/Chains.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/Chains.java index 0fc5c38c3b3..e6c73773840 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/Chains.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/Chains.java @@ -13,6 +13,7 @@ import java.util.Set; /** * Root config producer the whole chains model(contains chains and components). + * * @author Tony Vaagenes * @author gjoranv */ diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java index 52bb7b91781..da87d48b13e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java @@ -12,7 +12,6 @@ import com.yahoo.vespa.model.container.component.Handler; * Represents a handler for processing chains. * * @author gjoranv - * @since 5.1.7 */ public class ProcessingHandler<CHAINS extends Chains<?>> extends Handler<AbstractConfigProducer<?>> diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 56edec066da..b7c96d63755 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -724,11 +724,12 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } private void addSearchHandler(ApplicationContainerCluster cluster, Element searchElement) { - cluster.addSimpleComponent("com.yahoo.search.searchchain.ExecutionFactory", null, null); - - ProcessingHandler<SearchChains> searchHandler = new ProcessingHandler<>( - cluster.getSearch().getChains(), "com.yahoo.search.handler.SearchHandler"); + // Magic spell is needed to receive the chains config :-| + cluster.addComponent(new ProcessingHandler<>(cluster.getSearch().getChains(), + "com.yahoo.search.searchchain.ExecutionFactory")); + ProcessingHandler<SearchChains> searchHandler = new ProcessingHandler<>(cluster.getSearch().getChains(), + "com.yahoo.search.handler.SearchHandler"); String[] defaultBindings = {"http://*/search/*"}; for (String binding: serverBindings(searchElement, defaultBindings)) { searchHandler.addServerBindings(binding); diff --git a/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java b/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java index cca3c5c4610..a7471bc1771 100644 --- a/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java +++ b/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java @@ -141,7 +141,7 @@ public class HandlersConfigurerDi { } @SuppressWarnings("deprecation") - private Injector createFallbackInjector(final com.yahoo.container.Container vespaContainer, Injector discInjector) { + private Injector createFallbackInjector(com.yahoo.container.Container vespaContainer, Injector discInjector) { return discInjector.createChildInjector(new AbstractModule() { @Override protected void configure() { diff --git a/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java b/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java index 0851f69a366..bd3d146cfec 100644 --- a/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java +++ b/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java @@ -63,6 +63,7 @@ public class CloudSubscriberFactory implements SubscriberFactory { } private static class CloudSubscriber implements Subscriber { + private final ConfigSubscriber subscriber; private final Map<ConfigKey<ConfigInstance>, ConfigHandle<ConfigInstance>> handles = new HashMap<>(); diff --git a/container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java b/container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java index 337997f8ac2..fde4ecfd33a 100644 --- a/container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java +++ b/container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java @@ -24,6 +24,7 @@ import static com.yahoo.log.LogLevel.DEBUG; * @author ollivir */ public final class ConfigRetriever { + private static final Logger log = Logger.getLogger(ConfigRetriever.class.getName()); private final Set<ConfigKey<? extends ConfigInstance>> bootstrapKeys; @@ -33,7 +34,7 @@ public final class ConfigRetriever { private final Function<Set<ConfigKey<? extends ConfigInstance>>, Subscriber> subscribe; public ConfigRetriever(Set<ConfigKey<? extends ConfigInstance>> bootstrapKeys, - Function<Set<ConfigKey<? extends ConfigInstance>>, Subscriber> subscribe) { + Function<Set<ConfigKey<? extends ConfigInstance>>, Subscriber> subscribe) { this.bootstrapKeys = bootstrapKeys; this.componentSubscriberKeys = new HashSet<>(); this.subscribe = subscribe; diff --git a/container-di/src/main/java/com/yahoo/container/di/Container.java b/container-di/src/main/java/com/yahoo/container/di/Container.java index 24e5dcef838..0c534b0673c 100644 --- a/container-di/src/main/java/com/yahoo/container/di/Container.java +++ b/container-di/src/main/java/com/yahoo/container/di/Container.java @@ -190,12 +190,10 @@ public class Container { } private ComponentGraph createComponentsGraph(Map<ConfigKey<? extends ConfigInstance>, ConfigInstance> configsIncludingBootstrapConfigs, - long generation, Injector fallbackInjector) { - + long generation, Injector fallbackInjector) { previousConfigGeneration = generation; ComponentGraph graph = new ComponentGraph(generation); - ComponentsConfig componentsConfig = getConfig(componentsConfigKey, configsIncludingBootstrapConfigs); if (componentsConfig == null) { throw new ConfigurationRuntimeException("The set of all configs does not include a valid 'components' config. Config set: " @@ -250,7 +248,7 @@ public class Container { } public static <T extends ConfigInstance> T getConfig(ConfigKey<T> key, - Map<ConfigKey<? extends ConfigInstance>, ConfigInstance> configs) { + Map<ConfigKey<? extends ConfigInstance>, ConfigInstance> configs) { ConfigInstance inst = configs.get(key); if (inst == null || key.getConfigClass() == null) { diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java index accc844c93e..c57149748e7 100644 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ConfiguredApplication.java @@ -139,7 +139,6 @@ public final class ConfiguredApplication implements Application { ContainerBuilder builder = createBuilderWithGuiceBindings(); configurer = createConfigurer(builder.guiceModules().activate()); - intitializeAndActivateContainer(builder); startReconfigurerThread(); portWatcher = new Thread(this::watchPortChange); diff --git a/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneSubscriberFactory.java b/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneSubscriberFactory.java index 6ea2671b05b..d65b41c11c7 100644 --- a/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneSubscriberFactory.java +++ b/standalone-container/src/main/java/com/yahoo/container/standalone/StandaloneSubscriberFactory.java @@ -52,9 +52,8 @@ public class StandaloneSubscriberFactory implements SubscriberFactory { Map<ConfigKey<ConfigInstance>, ConfigInstance> ret = new HashMap<>(); for (ConfigKey<ConfigInstance> key : configKeys) { ConfigInstance.Builder builder = root.getConfig(newBuilderInstance(key), key.getConfigId()); - if (builder == null) { + if (builder == null) throw new RuntimeException("Invalid config id " + key.getConfigId()); - } ret.put(key, newConfigInstance(builder)); } return ret; |