summaryrefslogtreecommitdiffstats
path: root/container-core/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main')
-rwxr-xr-xcontainer-core/src/main/java/com/yahoo/container/Container.java18
-rw-r--r--container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java4
-rw-r--r--container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java7
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java6
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java1
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/VespaHeaders.java4
-rw-r--r--container-core/src/main/java/com/yahoo/container/protect/FreezeDetector.java57
-rw-r--r--container-core/src/main/java/com/yahoo/container/protect/TimeoutCollector.java26
-rw-r--r--container-core/src/main/java/com/yahoo/container/protect/TimeoutRate.java41
-rw-r--r--container-core/src/main/java/com/yahoo/container/protect/Watchdog.java168
-rw-r--r--container-core/src/main/java/com/yahoo/container/xml/bind/JAXBContextFactory.java58
-rw-r--r--container-core/src/main/java/com/yahoo/container/xml/providers/JAXBContextFactoryProvider.java23
-rw-r--r--container-core/src/main/java/com/yahoo/language/provider/DefaultLinguisticsProvider.java (renamed from container-core/src/main/java/com/yahoo/language/provider/SimpleLinguisticsProvider.java)11
-rw-r--r--container-core/src/main/java/com/yahoo/processing/handler/AbstractProcessingHandler.java7
-rw-r--r--container-core/src/main/resources/configdefinitions/diagnostics.def16
-rw-r--r--container-core/src/main/resources/configdefinitions/qr-logging.def38
-rw-r--r--container-core/src/main/resources/configdefinitions/qr-searchers.def5
-rw-r--r--container-core/src/main/resources/configdefinitions/qr-templates.def79
-rw-r--r--container-core/src/main/resources/configdefinitions/qr.def7
-rw-r--r--container-core/src/main/resources/configdefinitions/vip-status.def6
21 files changed, 15 insertions, 569 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/Container.java b/container-core/src/main/java/com/yahoo/container/Container.java
index e84c8b340a4..031d4a26d05 100755
--- a/container-core/src/main/java/com/yahoo/container/Container.java
+++ b/container-core/src/main/java/com/yahoo/container/Container.java
@@ -3,13 +3,11 @@ package com.yahoo.container;
import com.yahoo.component.AbstractComponent;
import com.yahoo.component.provider.ComponentRegistry;
-import com.yahoo.container.core.config.BundleLoader;
import com.yahoo.filedistribution.fileacquirer.FileAcquirer;
import com.yahoo.filedistribution.fileacquirer.FileAcquirerFactory;
import com.yahoo.jdisc.handler.RequestHandler;
import com.yahoo.jdisc.service.ClientProvider;
import com.yahoo.jdisc.service.ServerProvider;
-import com.yahoo.osgi.Osgi;
import com.yahoo.vespa.config.ConfigTransformer;
import com.yahoo.vespa.config.UrlDownloader;
@@ -34,8 +32,6 @@ public class Container {
private volatile FileAcquirer fileAcquirer;
private volatile UrlDownloader urlDownloader;
- private volatile BundleLoader bundleLoader;
-
private static Logger logger = Logger.getLogger(Container.class.getName());
// TODO: Make this final again.
@@ -43,12 +39,6 @@ public class Container {
public static Container get() { return instance; }
- /** @deprecated do not use */
- @Deprecated // TODO: Remove
- public void setOsgi(Osgi osgi) {
- bundleLoader = new BundleLoader(osgi);
- }
-
public void shutdown() {
if (fileAcquirer != null)
fileAcquirer.shutdown();
@@ -61,14 +51,6 @@ public class Container {
return fileAcquirer;
}
- /** @deprecated do not use */
- @Deprecated // TODO: Remove
- public BundleLoader getBundleLoader() {
- if (bundleLoader == null)
- bundleLoader = new BundleLoader(null);
- return bundleLoader;
- }
-
/**
* Hack. For internal use only, will be removed later
*
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 f7a3f49538e..cca3c5c4610 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
@@ -9,7 +9,6 @@ import com.yahoo.component.ComponentSpecification;
import com.yahoo.component.provider.ComponentRegistry;
import com.yahoo.concurrent.ThreadFactoryFactory;
import com.yahoo.config.FileReference;
-import com.yahoo.container.core.DiagnosticsConfig;
import com.yahoo.container.di.ComponentDeconstructor;
import com.yahoo.container.di.Container;
import com.yahoo.container.di.componentgraph.core.ComponentGraph;
@@ -148,9 +147,6 @@ public class HandlersConfigurerDi {
protected void configure() {
bind(com.yahoo.container.Container.class).toInstance(vespaContainer);
bind(com.yahoo.statistics.Statistics.class).toInstance(Statistics.nullImplementation);
- bind(com.yahoo.container.protect.FreezeDetector.class).toInstance(
- new com.yahoo.container.protect.FreezeDetector(
- new DiagnosticsConfig(new DiagnosticsConfig.Builder().disabled(true))));
bind(AccessLog.class).toInstance(new AccessLog(new ComponentRegistry<>()));
bind(Executor.class).toInstance(Executors.newCachedThreadPool(ThreadFactoryFactory.getThreadFactory("HandlersConfigurerDI")));
diff --git a/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java b/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java
index 60affddeb60..c8cf575dff3 100644
--- a/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java
@@ -38,7 +38,6 @@ public final class VipStatusHandler extends ThreadedHttpRequestHandler {
private final boolean accessDisk;
private final File statusFile;
private final VipStatus vipStatus;
- private final boolean noSearchBackendsImpliesOutOfService;
private volatile boolean previouslyInRotation = true;
@@ -57,7 +56,7 @@ public final class VipStatusHandler extends ThreadedHttpRequestHandler {
private StatusResponse() {
super(com.yahoo.jdisc.http.HttpResponse.Status.OK); // status may be overwritten below
- if (noSearchBackendsImpliesOutOfService && !vipStatus.isInRotation()) {
+ if (vipStatus != null && ! vipStatus.isInRotation()) {
searchContainerOutOfService();
} else if (accessDisk) {
preSlurpFile();
@@ -179,7 +178,6 @@ public final class VipStatusHandler extends ThreadedHttpRequestHandler {
super(executor, metric);
this.accessDisk = vipConfig.accessdisk();
this.statusFile = new File(Defaults.getDefaults().underVespaHome(vipConfig.statusfile()));
- this.noSearchBackendsImpliesOutOfService = vipConfig.noSearchBackendsImpliesOutOfService();
this.vipStatus = vipStatus;
}
@@ -187,9 +185,8 @@ public final class VipStatusHandler extends ThreadedHttpRequestHandler {
public HttpResponse handle(HttpRequest request) {
if (metric != null)
metric.add(NUM_REQUESTS_METRIC, 1, null);
- if (noSearchBackendsImpliesOutOfService) {
+ if (vipStatus != null)
updateAndLogRotationState();
- }
return new StatusResponse();
}
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java
index 73b56cd89f5..705092ef12e 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java
@@ -295,7 +295,6 @@ public abstract class LoggingRequestHandler extends ThreadedHttpRequestHandler {
logEntry.setRemotePort(remoteAddress.getPort());
}
URI uri = AccessLogUtil.getUri(httpRequest);
- setDeprecatedUri(logEntry, uri);
logEntry.setRawPath(uri.getRawPath());
logEntry.setRawQuery(uri.getRawQuery());
logEntry.setUserAgent(AccessLogUtil.getUserAgentHeader(httpRequest));
@@ -307,9 +306,4 @@ public abstract class LoggingRequestHandler extends ThreadedHttpRequestHandler {
}
}
- @SuppressWarnings("deprecation")
- private static void setDeprecatedUri(AccessLogEntry logEntry, URI uri) {
- logEntry.setURI(uri);
- }
-
}
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java b/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java
index 50052bbf70c..d0cf07584e4 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java
@@ -4,7 +4,7 @@ package com.yahoo.container.jdisc;
import com.yahoo.jdisc.application.MetricConsumer;
/**
- * <p>This is the interface to implement if one wishes to configure a non-default <tt>MetricConsumer</tt>. Simply
+ * <p>This is the interface to implement if one wishes to configure a non-default <code>MetricConsumer</code>. Simply
* add the implementing class as a component in your services.xml file.</p>
*
* @author Simon Thoresen Hult
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java
index 670c48bb339..dddde1205ca 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedHttpRequestHandler.java
@@ -30,7 +30,6 @@ import java.util.logging.Logger;
public abstract class ThreadedHttpRequestHandler extends ThreadedRequestHandler {
public static final String CONTENT_TYPE = "Content-Type";
- public static final String DATE = "Date"; // TODO: Remove on Vespa 7
private static final String RENDERING_ERRORS = "rendering_errors";
/** Logger for subclasses */
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/VespaHeaders.java b/container-core/src/main/java/com/yahoo/container/jdisc/VespaHeaders.java
index 715038470b9..309405f1242 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/VespaHeaders.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/VespaHeaders.java
@@ -54,6 +54,7 @@ public final class VespaHeaders {
}
}
+ /** Returns true if this is a benchmarking request, according to headers */
public static boolean benchmarkOutput(com.yahoo.container.jdisc.HttpRequest request) {
return request.getHeader(BenchmarkingHeaders.REQUEST) != null;
}
@@ -69,8 +70,7 @@ public final class VespaHeaders {
* @param coverage The Coverage to read data from.
*/
public static void benchmarkOutput(HeaderFields responseHeaders, boolean benchmarkCoverage,
- Timing t, HitCounts c, int errorCount, Coverage coverage)
- {
+ Timing t, HitCounts c, int errorCount, Coverage coverage) {
final long renderStartTime = System.currentTimeMillis();
if (c != null) {
// Fill inn response getHeaders
diff --git a/container-core/src/main/java/com/yahoo/container/protect/FreezeDetector.java b/container-core/src/main/java/com/yahoo/container/protect/FreezeDetector.java
deleted file mode 100644
index 6a8a3239c17..00000000000
--- a/container-core/src/main/java/com/yahoo/container/protect/FreezeDetector.java
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.protect;
-
-import java.util.Timer;
-
-import com.yahoo.component.AbstractComponent;
-import com.yahoo.concurrent.ThreadLocalDirectory;
-import com.yahoo.container.core.DiagnosticsConfig;
-
-/**
- * Runs and initializes a {@link Watchdog} instance.
- *
- * @author Steinar Knutsen
- * @deprecated this is not in use and will be removed in the next major release
- */
-@Deprecated
-// TODO: Remove on Vespa 7
-public class FreezeDetector extends AbstractComponent {
-
- private final Timer timeoutWatchdog;
- private final Watchdog watchdog;
-
- public FreezeDetector(DiagnosticsConfig diagnosticsConfig) {
- timeoutWatchdog = null;
- watchdog = null;
- }
-
- public void register(ThreadLocalDirectory<TimeoutRate, Boolean> timeouts) {
- if (watchdog == null) {
- return;
- }
- watchdog.addTimeouts(timeouts);
- }
-
- public boolean isBreakdown() {
- if (watchdog == null) {
- return false;
- }
- return watchdog.isBreakdown();
- }
-
- public void unRegister(ThreadLocalDirectory<TimeoutRate, Boolean> timeouts) {
- if (watchdog == null) {
- return;
- }
- watchdog.removeTimeouts(timeouts);
- }
-
- @Override
- public void deconstruct() {
- super.deconstruct();
- if (timeoutWatchdog != null) {
- timeoutWatchdog.cancel();
- }
- }
-
-}
diff --git a/container-core/src/main/java/com/yahoo/container/protect/TimeoutCollector.java b/container-core/src/main/java/com/yahoo/container/protect/TimeoutCollector.java
deleted file mode 100644
index e31716a292e..00000000000
--- a/container-core/src/main/java/com/yahoo/container/protect/TimeoutCollector.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.protect;
-
-import com.yahoo.concurrent.ThreadLocalDirectory.Updater;
-
-/**
- * Allocator and glue for sampling timeouts in SearchHandler.
- *
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
- * @deprecated this is not in use and will be removed in the next major release
- */
-@Deprecated
-public final class TimeoutCollector implements Updater<TimeoutRate, Boolean> {
-
- @Override
- public TimeoutRate createGenerationInstance(TimeoutRate previous) {
- return new TimeoutRate();
- }
-
- @Override
- public TimeoutRate update(TimeoutRate current, Boolean x) {
- current.addQuery(x);
- return current;
- }
-
-}
diff --git a/container-core/src/main/java/com/yahoo/container/protect/TimeoutRate.java b/container-core/src/main/java/com/yahoo/container/protect/TimeoutRate.java
deleted file mode 100644
index 4bb68fedb9b..00000000000
--- a/container-core/src/main/java/com/yahoo/container/protect/TimeoutRate.java
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.protect;
-
-/**
- * Helper class to account for measuring how many queries times outs.
- *
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
- * @deprecated this is not in use and will be removed in the next major release
- */
-// TODO: Remove on Vespa 7
-@Deprecated
-public final class TimeoutRate {
-
- private int timeouts = 0;
- private int total = 0;
-
- public void addQuery(Boolean timeout) {
- if (timeout) {
- timeouts += 1;
- }
- total += 1;
- }
-
- public void merge(TimeoutRate other) {
- timeouts += other.timeouts;
- total += other.total;
- }
-
- public double timeoutFraction() {
- if (total == 0) {
- return 0.0d;
- } else {
- return ((double) timeouts) / ((double) total);
- }
- }
-
- public int getTotal() {
- return total;
- }
-
-}
diff --git a/container-core/src/main/java/com/yahoo/container/protect/Watchdog.java b/container-core/src/main/java/com/yahoo/container/protect/Watchdog.java
deleted file mode 100644
index ff425242587..00000000000
--- a/container-core/src/main/java/com/yahoo/container/protect/Watchdog.java
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.protect;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.TimerTask;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.yahoo.concurrent.ThreadLocalDirectory;
-import com.yahoo.log.LogLevel;
-import com.yahoo.protect.Process;
-
-/**
- * Watchdog for a frozen process, too many timeouts, etc.
- *
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
- * @deprecated this is not in use and will be removed in the next major release
- */
-// TODO: Remove on Vespa 7
-@Deprecated
-class Watchdog extends TimerTask {
-
- public static final String FREEZEDETECTOR_DISABLE = "vespa.freezedetector.disable";
- Logger log = Logger.getLogger(Watchdog.class.getName());
- private long lastRun = 0L;
- private long lastQpsCheck = 0L;
- // Local copy to avoid ever _reading_ the volatile version
- private boolean breakdownCopy = false;
- private volatile boolean breakdown;
- // The fraction of queries which must time out to view the QRS as being
- // in breakdown
- private final double timeoutThreshold;
- // The minimal QPS to care about timeoutThreshold
- private final int minimalQps;
- private final boolean disableSevereBreakdownCheck;
- private final List<ThreadLocalDirectory<TimeoutRate, Boolean>> timeoutRegistry = new ArrayList<>();
- private final boolean shutdownIfFrozen;
-
- Watchdog(double timeoutThreshold, int minimalQps, boolean shutdownIfFrozen) {
- this.timeoutThreshold = timeoutThreshold;
- this.minimalQps = minimalQps;
- if (System.getProperty(FREEZEDETECTOR_DISABLE) != null) {
- disableSevereBreakdownCheck = true;
- } else {
- disableSevereBreakdownCheck = false;
- }
- this.shutdownIfFrozen = shutdownIfFrozen;
- }
-
- @Override
- public void run() {
- long now = System.currentTimeMillis();
- if (lastRun != 0L) {
- severeBreakdown(now);
- queryTimeouts(now);
- } else {
- lastQpsCheck = now;
- }
- lastRun = now;
- }
-
- private void severeBreakdown(final long now) {
- if (disableSevereBreakdownCheck) {
- return;
- }
- if (now - lastRun < 5000L) {
- return;
- }
-
- threadStackMessage();
-
- if (shutdownIfFrozen) {
- Process.logAndDie("Watchdog timer meant to run ten times per second"
- + " not run for five seconds or more."
- + " Assuming severe failure or overloaded node, shutting down container.");
- } else {
- log.log(LogLevel.ERROR,
- "A watchdog meant to run 10 times a second has not been invoked for 5 seconds."
- + " This usually means this machine is swapping or otherwise severely overloaded.");
- }
- }
-
- private void threadStackMessage() {
- log.log(LogLevel.INFO, "System seems unresponsive, performing full thread dump for diagnostics.");
- threadDump();
- log.log(LogLevel.INFO, "End of diagnostic thread dump.");
- }
-
- private void threadDump() {
- try {
- Map<Thread, StackTraceElement[]> allStackTraces = Thread.getAllStackTraces();
- for (Map.Entry<Thread, StackTraceElement[]> e : allStackTraces.entrySet()) {
- Thread t = e.getKey();
- StackTraceElement[] stack = e.getValue();
- StringBuilder forOneThread = new StringBuilder();
- int initLen;
- forOneThread.append("Stack for thread: ").append(t.getName()).append(": ");
- initLen = forOneThread.length();
- for (StackTraceElement s : stack) {
- if (forOneThread.length() > initLen) {
- forOneThread.append(" ");
- }
- forOneThread.append(s.toString());
- }
- log.log(LogLevel.INFO, forOneThread.toString());
- }
- } catch (Exception e) {
- // just give up...
- }
- }
-
- private void queryTimeouts(final long now) {
- // only check query timeout every 10s
- if (now - lastQpsCheck < 10000L) {
- return;
- } else {
- lastQpsCheck = now;
- }
-
- final TimeoutRate globalState = new TimeoutRate();
- synchronized (timeoutRegistry) {
- for (ThreadLocalDirectory<TimeoutRate, Boolean> timeouts : timeoutRegistry) {
- final List<TimeoutRate> threadStates = timeouts.fetch();
- for (final TimeoutRate t : threadStates) {
- globalState.merge(t);
- }
- }
- }
- if (globalState.timeoutFraction() > timeoutThreshold && globalState.getTotal() > (10 * minimalQps)) {
- setBreakdown(true);
- log.log(Level.WARNING, "Too many queries timed out. Assuming container is in breakdown.");
- } else {
- if (!breakdown()) {
- return;
- }
- setBreakdown(false);
- log.log(Level.WARNING, "Fewer queries timed out. Assuming container is no longer in breakdown.");
- }
- }
-
- private void setBreakdown(final boolean state) {
- breakdown = state;
- breakdownCopy = state;
- }
-
- private boolean breakdown() {
- return breakdownCopy;
- }
-
- boolean isBreakdown() {
- return breakdown;
- }
-
- void addTimeouts(ThreadLocalDirectory<TimeoutRate, Boolean> t) {
- synchronized (timeoutRegistry) {
- timeoutRegistry.add(t);
- }
- }
-
- void removeTimeouts(ThreadLocalDirectory<TimeoutRate, Boolean> timeouts) {
- synchronized (timeoutRegistry) {
- timeoutRegistry.remove(timeouts);
- }
- }
-
-}
diff --git a/container-core/src/main/java/com/yahoo/container/xml/bind/JAXBContextFactory.java b/container-core/src/main/java/com/yahoo/container/xml/bind/JAXBContextFactory.java
deleted file mode 100644
index c2355ce74be..00000000000
--- a/container-core/src/main/java/com/yahoo/container/xml/bind/JAXBContextFactory.java
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.xml.bind;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-
-/**
- * Container components can take an instance of this class as a constructor argument,
- * to get a new instance injected by the container framework. There is usually no
- * need to create an instance with this class' constructor.
- * <p>
- * This factory is needed because the JAXBContext needs a user defined context path,
- * which means that it cannot be created at the time the container creates its
- * component graph.
- *
- * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
- * @author gjoranv
- * @since 5.3
- * @deprecated Do not use!
- */
-@Deprecated
-public class JAXBContextFactory {
- public static final String FACTORY_CLASS = "com.sun.xml.internal.bind.v2.ContextFactory";
-
- /**
- * Returns a new JAXBContext for the context path defined by the given list of classes.
- * @return A new JAXBContext.
- * @param classes One class per package that contains schema derived classes and/or
- * java to schema (JAXB-annotated) mapped classes
- */
- public JAXBContext newInstance(Class<?>... classes) {
- return newInstance(getContextPath(classes), classes[0].getClassLoader());
- }
-
- // TODO: guard against adding the same package more than once
- static String getContextPath(Class<?>... classes) {
- if (classes == null || classes.length == 0) {
- throw new IllegalArgumentException("Empty package list.");
- }
- StringBuilder contextPath = new StringBuilder();
- for (Class<?> clazz : classes) {
- contextPath
- .append(clazz.getPackage().getName())
- .append(':');
- }
- contextPath.deleteCharAt(contextPath.length() - 1);
- return contextPath.toString();
- }
-
- private static JAXBContext newInstance(String contextPath, ClassLoader classLoader) {
- System.setProperty(JAXBContext.JAXB_CONTEXT_FACTORY, FACTORY_CLASS);
- try {
- return JAXBContext.newInstance(contextPath, classLoader);
- } catch (JAXBException e) {
- throw new IllegalStateException(e);
- }
- }
-}
diff --git a/container-core/src/main/java/com/yahoo/container/xml/providers/JAXBContextFactoryProvider.java b/container-core/src/main/java/com/yahoo/container/xml/providers/JAXBContextFactoryProvider.java
deleted file mode 100644
index 6d82fa7af82..00000000000
--- a/container-core/src/main/java/com/yahoo/container/xml/providers/JAXBContextFactoryProvider.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.xml.providers;
-
-import com.yahoo.container.di.componentgraph.Provider;
-
-/**
- * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
- * @since 5.1.29
- * @deprecated Do not use!
- */
-@Deprecated
-@SuppressWarnings("deprecation")
-public class JAXBContextFactoryProvider implements Provider<com.yahoo.container.xml.bind.JAXBContextFactory> {
- public static final String FACTORY_CLASS = com.yahoo.container.xml.bind.JAXBContextFactory.class.getName();
-
- @Override
- public com.yahoo.container.xml.bind.JAXBContextFactory get() {
- return new com.yahoo.container.xml.bind.JAXBContextFactory();
- }
-
- @Override
- public void deconstruct() { }
-}
diff --git a/container-core/src/main/java/com/yahoo/language/provider/SimpleLinguisticsProvider.java b/container-core/src/main/java/com/yahoo/language/provider/DefaultLinguisticsProvider.java
index 169c9f1a2a4..8f08e33a777 100644
--- a/container-core/src/main/java/com/yahoo/language/provider/SimpleLinguisticsProvider.java
+++ b/container-core/src/main/java/com/yahoo/language/provider/DefaultLinguisticsProvider.java
@@ -2,26 +2,23 @@
package com.yahoo.language.provider;
import com.google.inject.Inject;
-import com.yahoo.language.simple.SimpleLinguistics;
+import com.yahoo.language.opennlp.OpenNlpLinguistics;
import com.yahoo.container.di.componentgraph.Provider;
import com.yahoo.language.Linguistics;
-import com.yahoo.language.simple.SimpleLinguisticsConfig;
/**
- * Provides simple linguistics if no linguistics component has been explicitly configured
+ * Provides the default linguistics implementation if no linguistics component has been explicitly configured
* (dependency injection will fallback to providers if no components of the requested type is found).
*
* @author bratseth
*/
-public class SimpleLinguisticsProvider implements Provider<Linguistics> {
+public class DefaultLinguisticsProvider implements Provider<Linguistics> {
private final Linguistics linguistics;
@SuppressWarnings("deprecation")
@Inject
- public SimpleLinguisticsProvider(SimpleLinguisticsConfig config) {
- linguistics = new SimpleLinguistics(config);
- }
+ public DefaultLinguisticsProvider() { linguistics = new OpenNlpLinguistics(); }
@Override
public Linguistics get() { return linguistics; }
diff --git a/container-core/src/main/java/com/yahoo/processing/handler/AbstractProcessingHandler.java b/container-core/src/main/java/com/yahoo/processing/handler/AbstractProcessingHandler.java
index 2269bd1358b..72a5fbdce55 100644
--- a/container-core/src/main/java/com/yahoo/processing/handler/AbstractProcessingHandler.java
+++ b/container-core/src/main/java/com/yahoo/processing/handler/AbstractProcessingHandler.java
@@ -47,10 +47,9 @@ import static com.yahoo.component.chain.ChainsConfigurer.prepareChainRegistry;
* <p>
* COMPONENT: The type of the processing components of which this executes a chain
*
- * @author bratseth
- * @author Tony Vaagenes
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
- * @since 5.1.6
+ * @author bratseth
+ * @author Tony Vaagenes
+ * @author Steinar Knutsen
*/
public abstract class AbstractProcessingHandler<COMPONENT extends Processor> extends LoggingRequestHandler {
diff --git a/container-core/src/main/resources/configdefinitions/diagnostics.def b/container-core/src/main/resources/configdefinitions/diagnostics.def
deleted file mode 100644
index 33f733d4386..00000000000
--- a/container-core/src/main/resources/configdefinitions/diagnostics.def
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-namespace=container.core
-
-## The fraction of queries to time out over a period of 10s to consider
-## the system in breakdown.
-timeoutfraction double default=0.1
-
-## Minimum QPS to consider the system in breakdown.
-minimumqps int default=1
-
-## Whether to shut down process if in a deadlock situation
-shutdown bool default=false
-
-## Whether to totally disable the detector. Alternative to system property
-## which works better in tests.
-disabled bool default=false
diff --git a/container-core/src/main/resources/configdefinitions/qr-logging.def b/container-core/src/main/resources/configdefinitions/qr-logging.def
deleted file mode 100644
index f828f321ae7..00000000000
--- a/container-core/src/main/resources/configdefinitions/qr-logging.def
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-namespace=container.core
-logger string default="com.yahoo"
-# Either QueryAccessLog for a regular Vespa access log, or YApacheAccessLog for a log on yApache format
-speciallog[].name string
-
-# Leave as ""
-speciallog[].type string
-
-speciallog[].filehandler.name string default=""
-
-# File name patterns supporting the expected time variables
-speciallog[].filehandler.pattern string default=".%Y%m%d%H%M%S"
-
-speciallog[].filehandler.rotation string default="0 60 ..."
-
-# Defines how file rotation is done. There are two options:
-#
-# "date" :
-# The active log file is given the name resulting from pattern (but in this case "pattern" must yield a
-# time-dependent name. In addition, a symlink is created pointing to the newest file.
-# The symlink is given the name of the symlink parameter (or the name of this service
-# if no parameter is given.
-#
-# "sequence" :
-# The active log file is given the name
-# defined by "pattern" (which in this case will likely just be a constant string).
-# At rotation, this file is given the name pattern.N where N is 1 + the largest integer found by
-# extracting the integers from all files ending by .Integer in the same directory
-#
-speciallog[].filehandler.rotatescheme string default="date"
-
-# Use this as the name of the symlink created pointing to the newest file in the "date" naming scheme.
-# This is ignored if the sequence naming scheme is used.
-speciallog[].filehandler.symlink string default=""
-
-speciallog[].cachehandler.name string default=""
-speciallog[].cachehandler.size int default=1000
diff --git a/container-core/src/main/resources/configdefinitions/qr-searchers.def b/container-core/src/main/resources/configdefinitions/qr-searchers.def
index e2b4836c081..bb8f80052f1 100644
--- a/container-core/src/main/resources/configdefinitions/qr-searchers.def
+++ b/container-core/src/main/resources/configdefinitions/qr-searchers.def
@@ -14,6 +14,8 @@ com.yahoo.prelude.searcher.FieldCollapsingSearcher.extrafactor double default=2.
com.yahoo.prelude.searcher.FieldCollapsingSearcher.collapsefield string default="mid"
com.yahoo.prelude.searcher.BlendingSearcher.numthreads int default=200
+
+# The field we'll unique on, use [id] to unique on the document id
com.yahoo.prelude.searcher.BlendingSearcher.docid string default=""
com.yahoo.prelude.searcher.JuniperSearcher.source string default=""
@@ -74,8 +76,5 @@ searchcluster[].storagecluster.routespec string default=""
searchcluster[].dispatcher[].host string
searchcluster[].dispatcher[].port int
-## Not used. TODO: Remove on Vespa 7
-searchcluster[].rowbits int default=0
-
# Per dispatcher config-id might be nice to have, remove it until needed.
# searchcluster[].dispatcher[].configid reference
diff --git a/container-core/src/main/resources/configdefinitions/qr-templates.def b/container-core/src/main/resources/configdefinitions/qr-templates.def
deleted file mode 100644
index 46b1a5cbd65..00000000000
--- a/container-core/src/main/resources/configdefinitions/qr-templates.def
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-# Not used
-# TODO: Remove on Vespa 7
-namespace=container.core
-
-## Prefix to use in queries to choose a given template
-templateset[].urlprefix string
-
-## The id of the Java class which the given templateset
-## should be an instance of. This is only used for implementing
-## templates in the Java API instead of Velocity.
-templateset[].classid string default=""
-
-## The symbolic name of the Osgi bundle this template is located in.
-## Assumed to be the same as the classid if not set, and is only used
-## when classid is used.
-templateset[].bundle string default=""
-
-## The MIME type of a given template
-templateset[].mimetype string default="text/html"
-
-## The character set of a given template
-templateset[].encoding string default="iso-8859-1"
-
-## Not used
-templateset[].rankprofile int default=0
-
-
-## Not used in 1.0
-templateset[].keepalive bool default=false
-
-## Header template. Always rendered.
-templateset[].headertemplate string default=""
-
-## Footer template. Always rendered.
-templateset[].footertemplate string default=""
-
-## Nohits template. Rendered if there are no hits in the result.
-templateset[].nohitstemplate string default=""
-
-## Hit template. Rendered if there are hits in the result.
-templateset[].hittemplate string default=""
-
-## Error template. Rendered if there is an error condition. This is
-## not mutually exclusive with the (no)hit templates as such.
-templateset[].errortemplate string default=""
-
-## Aggregated groups header template.
-## Default rendering is used if missing
-templateset[].groupsheadertemplate string default="[DEFAULT]"
-
-## Aggregated range group template.
-## Default rendering is used if missing
-templateset[].rangegrouptemplate string default="[DEFAULT]"
-
-## Aggregated exact group template
-## Default rendering is used if missing
-templateset[].exactgrouptemplate string default="[DEFAULT]"
-
-## Aggregated groups footer template.
-## Default rendering is used if missing
-templateset[].groupsfootertemplate string default="[DEFAULT]"
-
-## Tags used to highlight results, starting a bolded section.
-## An empty string means the template should no override what
-## was inserted by the search chain.
-templateset[].highlightstarttag string default=""
-## Tags used to highlight results, ending a bolded section
-## An empty string means the template should no override what
-## was inserted by the search chain.
-templateset[].highlightendtag string default=""
-## Tags used to highlight results, separating dynamic snippets
-## An empty string means the template should no override what
-## was inserted by the search chain.
-templateset[].highlightseptag string default=""
-
-## The summary class to use for this template if there is none
-## defined in the query.
-templateset[].defaultsummaryclass string default=""
diff --git a/container-core/src/main/resources/configdefinitions/qr.def b/container-core/src/main/resources/configdefinitions/qr.def
index d6549674137..fe44b04e9d5 100644
--- a/container-core/src/main/resources/configdefinitions/qr.def
+++ b/container-core/src/main/resources/configdefinitions/qr.def
@@ -2,8 +2,7 @@
namespace=container
### All params must be flagged as 'restart' because this config is manually
-### retrieved by ConfiguredApplication.start to init the rpc server in
-### com.yahoo.container.Server.
+### retrieved by ConfiguredApplication.start to init the rpc server
## filedistributor rpc configuration
filedistributor.configid reference default="" restart
@@ -20,10 +19,6 @@ rpc.host string default="" restart
## The id this service should register itself with in slobrok
rpc.slobrokId string default="" restart
-## Whether to obtain coverage reports by default. This can be overridden with
-## the 'reportcoverage' HTTP parameter.
-coveragereports bool default=false restart
-
## A unique identifier string for this QRS. The only guarantee given is
## this string will be unique for every QRS in a Vespa application.
discriminator string default="qrserver.0" restart
diff --git a/container-core/src/main/resources/configdefinitions/vip-status.def b/container-core/src/main/resources/configdefinitions/vip-status.def
index 6aa10ff1b90..ed7ab3e4802 100644
--- a/container-core/src/main/resources/configdefinitions/vip-status.def
+++ b/container-core/src/main/resources/configdefinitions/vip-status.def
@@ -1,12 +1,6 @@
# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
namespace=container.core
-## If there is a Vespa search backend connected to this container, and that
-## backend is out of service, automatically remove this container from VIP
-## rotation, ignoring any status file.
-## TODO VESPA 7: This is always true and can be removed
-noSearchBackendsImpliesOutOfService bool default=true
-
## Whether to return hard-coded reply or serve "status.html" from disk
accessdisk bool default=false