diff options
30 files changed, 193 insertions, 176 deletions
diff --git a/component/src/main/java/com/yahoo/component/provider/ListenableFreezableClass.java b/component/src/main/java/com/yahoo/component/provider/ListenableFreezableClass.java index e4094e672b9..e1e638234f4 100644 --- a/component/src/main/java/com/yahoo/component/provider/ListenableFreezableClass.java +++ b/component/src/main/java/com/yahoo/component/provider/ListenableFreezableClass.java @@ -9,7 +9,6 @@ import java.util.concurrent.Executor; * A convenience superclass for listenable freezables. * * @author bratseth - * @since 5.1.13 */ public class ListenableFreezableClass extends FreezableClass implements ListenableFreezable { diff --git a/container-search/src/main/java/com/yahoo/fs4/QueryPacketData.java b/container-search/src/main/java/com/yahoo/fs4/QueryPacketData.java index e54f526f709..673b9cc0c47 100644 --- a/container-search/src/main/java/com/yahoo/fs4/QueryPacketData.java +++ b/container-search/src/main/java/com/yahoo/fs4/QueryPacketData.java @@ -8,7 +8,7 @@ import java.nio.ByteBuffer; * fetch for a Vespa hit. Used to avoid to tagging Vespa summary hits with * the entire query as an immutable. * - * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a> + * @author Steinar Knutsen */ public final class QueryPacketData { diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/Docsum.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/Docsum.java index 07d62e242e7..8181787e909 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/Docsum.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/Docsum.java @@ -9,7 +9,7 @@ import java.nio.ByteOrder; * An instance of a document summary, backed by binary data, which decodes and returns fields on request, * using the (shared) definition of this docsum. * - * @author <a href="mailt:steinar@yahoo-inc.com">Steinar Knutsen</a> + * @author Steinar Knutsen */ public final class Docsum { diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java index 2eec7109722..1524a4da426 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastHit.java @@ -48,10 +48,7 @@ public class FastHit extends Hit { */ private boolean ignoreRowBits = false; - /** - * Whether to use the row number in the index uri, see FastSearcher for - * details - */ + /** Whether to use the row number in the index uri, see FastSearcher for details */ private boolean useRowInIndexUri = true; private transient QueryPacketData queryPacketData = null; @@ -111,8 +108,8 @@ public class FastHit extends Hit { } /** - * Returns the explicitly set uri if available, returns - * "index:[source]/[partid]/[id]" otherwise + * Returns the explicitly set uri if available, returns "index:[source]/[partid]/[id]" otherwise + * * @return uri of hit */ public URI getUri() { @@ -131,9 +128,9 @@ public class FastHit extends Hit { } /** - * The uri of the index location of this hit - * ("index:[source]/[partid]/[id]"). This is the uri if no other uri is - * assigned + * The uri of the index location of this hit ("index:[source]/[partid]/[id]"). + * This is the uri if no other uri is assigned + * * @return uri to the index. */ public URI getIndexUri() { @@ -182,7 +179,7 @@ public class FastHit extends Hit { } /** - * @return Returns the column number where this hit originated, or partId if not known + * Returns the column number where this hit originated, or partId if not known */ public int getColumn() { return partId >>> rowBits; @@ -263,6 +260,7 @@ public class FastHit extends Hit { /** * Only needed when fetching summaries in 2 phase. + * * @param distributionKey Of node where you find this hit. */ public void setDistributionKey(int distributionKey) { @@ -315,20 +313,6 @@ public class FastHit extends Hit { setField(fieldName, new LazyString(new StringField(fieldName), new StringValue(value))); } - public static final class RawField { - private final boolean needXmlEscape; - - private final byte[] contents; - - public RawField(DocsumField fieldType, byte[] contents) { - needXmlEscape = ! (fieldType instanceof XMLField); - this.contents = contents; - } - - public byte [] getUtf8() { return contents; } - public boolean needXmlEscape() { return needXmlEscape; } - } - /** * Add the binary data common for the query packet to a Vespa backend and a * summary fetch packet to a Vespa backend. This method can only be called @@ -386,6 +370,22 @@ public class FastHit extends Hit { } } + public static final class RawField { + + private final boolean needXmlEscape; + + private final byte[] contents; + + public RawField(DocsumField fieldType, byte[] contents) { + needXmlEscape = ! (fieldType instanceof XMLField); + this.contents = contents; + } + + public byte [] getUtf8() { return contents; } + public boolean needXmlEscape() { return needXmlEscape; } + + } + private static abstract class LazyValue { abstract Object getValue(String fieldName); abstract RawField getFieldAsUtf8(String fieldName); @@ -395,6 +395,7 @@ public class FastHit extends Hit { * Represents a value that resides in the docsum. */ private static class LazyDocsumValue extends LazyValue { + private final Docsum docsum; LazyDocsumValue(Docsum docsum) { @@ -414,9 +415,11 @@ public class FastHit extends Hit { RawField getFieldAsUtf8(String fieldName) { return docsum.fetchFieldAsUtf8(getFieldIndex(fieldName)); } + } private static class LazyString extends LazyValue { + private final Inspector value; private final DocsumField fieldType; @@ -433,6 +436,7 @@ public class FastHit extends Hit { RawField getFieldAsUtf8(String fieldName) { return new RawField(fieldType, value.asUtf8()); } + } } diff --git a/container-search/src/main/java/com/yahoo/search/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java index 0bfbecfd9ab..3cc7378de5c 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Hit.java +++ b/container-search/src/main/java/com/yahoo/search/result/Hit.java @@ -58,7 +58,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi /** The relevance of this hit */ private Relevance relevance; - /** Says whether this hit is cached or not */ + /** Says whether this hit is cached */ private boolean cached = false; /** @@ -95,59 +95,11 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi private boolean auxiliary=false; /** - * The hit field used to store rank features. TODO: Remove + * The hit field used to store rank features. TODO: Remove on Vespa 7 */ public static final String RANKFEATURES_FIELD = "rankfeatures"; public static final String SDDOCNAME_FIELD = "sddocname"; - private Map<String,Object> getFieldMap() { - return getFieldMap(16); - } - private Map<String,Object> getFieldMap(int minSize) { - if (fields == null) { - // Compensate for loadfactor and then some, rounded up.... - fields = new LinkedHashMap<>(2*minSize); - } - return fields; - } - - private Map<String,Object> getUnmodifiableFieldMap() { - if (unmodifiableFieldMap == null) { - if (fields == null) { - return Collections.emptyMap(); - } else { - unmodifiableFieldMap = Collections.unmodifiableMap(fields); - } - } - return unmodifiableFieldMap; - } - - public static String stripCharacter(char strip, String toStripFrom) { - StringBuilder builder = null; - - int lastBadChar = 0; - for (int i = 0; i < toStripFrom.length(); i++) { - if (toStripFrom.charAt(i) == strip) { - if (builder == null) { - builder = new StringBuilder(toStripFrom.length()); - } - - builder.append(toStripFrom, lastBadChar, i); - lastBadChar = i + 1; - } - } - - if (builder == null) { - return toStripFrom; - } else { - if (lastBadChar < toStripFrom.length()) { - builder.append(toStripFrom, lastBadChar, toStripFrom.length()); - } - - return builder.toString(); - } - } - /** Creates an (invalid) empty hit. Id and relevance must be set before handoff */ protected Hit() {} @@ -461,8 +413,8 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi /** * Fields - * @return An iterator for traversing the fields - * @since 5.1.3 + * + * @return an iterator for traversing the fields of this hit */ public final Iterator<Map.Entry<String,Object>> fieldIterator() { return getFieldMap().entrySet().iterator(); } @@ -470,21 +422,23 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi public Object getField(String value) { return fields != null ? fields.get(value) : null; } /** - * Generate a HitField from a field if the field exists. Does the - * same as getField() in earlier versions. - * - * @since 3.0 + * Generate a HitField from a field if the field exists. + * + * @deprecated do not use */ + // TODO: Remove on Vespa 7 + @Deprecated public HitField buildHitField(String key) { return buildHitField(key, false); } /** - * Generate a HitField from a field if the field exists. Does the - * same as getField() in earlier versions. + * Generate a HitField from a field if the field exists. * - * @since 3.0 + * @deprecated do not use */ + // TODO: Remove on Vespa 7 + @Deprecated public HitField buildHitField(String key, boolean forceNoPreTokenize) { return buildHitField(key, forceNoPreTokenize, false); } @@ -798,4 +752,52 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi return filled; } + private Map<String,Object> getFieldMap() { + return getFieldMap(16); + } + private Map<String,Object> getFieldMap(int minSize) { + if (fields == null) { + // Compensate for loadfactor and then some, rounded up.... + fields = new LinkedHashMap<>(2*minSize); + } + return fields; + } + + private Map<String,Object> getUnmodifiableFieldMap() { + if (unmodifiableFieldMap == null) { + if (fields == null) { + return Collections.emptyMap(); + } else { + unmodifiableFieldMap = Collections.unmodifiableMap(fields); + } + } + return unmodifiableFieldMap; + } + + public static String stripCharacter(char strip, String toStripFrom) { + StringBuilder builder = null; + + int lastBadChar = 0; + for (int i = 0; i < toStripFrom.length(); i++) { + if (toStripFrom.charAt(i) == strip) { + if (builder == null) { + builder = new StringBuilder(toStripFrom.length()); + } + + builder.append(toStripFrom, lastBadChar, i); + lastBadChar = i + 1; + } + } + + if (builder == null) { + return toStripFrom; + } else { + if (lastBadChar < toStripFrom.length()) { + builder.append(toStripFrom, lastBadChar, toStripFrom.length()); + } + + return builder.toString(); + } + } + } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java index 160f80076bd..3c9488e04d3 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/LoggingIssues.java @@ -17,6 +17,7 @@ import java.util.logging.Logger; * * @author bratseth */ +@SuppressWarnings("unused") // created by dependency injection public class LoggingIssues implements Issues { private static final Logger log = Logger.getLogger(LoggingIssues.class.getName()); @@ -43,10 +44,16 @@ public class LoggingIssues implements Issues { public String file(Issue issue) { log.info("Want to file " + issue); String issueId = "issue-" + issueIdSequence.getAndIncrement(); - issues.put(issueId, issue); - issueInfos.put(issueId, new IssueInfo(issueId, null, Instant.now(), null, IssueInfo.Status.noCategory)); + file(issueId, issue); return issueId; } + + private IssueInfo file(String issueId, Issue issue) { + IssueInfo issueInfo = new IssueInfo(issueId, null, Instant.now(), null, IssueInfo.Status.noCategory); + issues.put(issueId, issue); + issueInfos.put(issueId, issueInfo); + return issueInfo; + } @Override public void update(String issueId, String description) { @@ -79,9 +86,10 @@ public class LoggingIssues implements Issues { private IssueInfo requireInfo(String issueId) { IssueInfo info = issueInfos.get(issueId); - if (info == null) - throw new IllegalArgumentException("No issue info with id '" + issueId + "'"); - return info; + if (info != null) // we still remember this issue + return info; + else // we forgot this issue (due to restart) - recreate it here to avoid log noise + return file(issueId, new Issue("(Forgotten)", "")); } } diff --git a/docproc/src/main/java/com/yahoo/docproc/AbstractConcreteDocumentFactory.java b/docproc/src/main/java/com/yahoo/docproc/AbstractConcreteDocumentFactory.java index 92671d46351..36686caf7ac 100644 --- a/docproc/src/main/java/com/yahoo/docproc/AbstractConcreteDocumentFactory.java +++ b/docproc/src/main/java/com/yahoo/docproc/AbstractConcreteDocumentFactory.java @@ -14,11 +14,11 @@ import com.yahoo.yolean.Exceptions; /** * Subtyped by factory classes for concrete document types. The factory classes are auto-generated * by vespa-documentgen-plugin. This superclass is used to manage the factories in OSGI. - * @author vegardh - * @since 5.1 * + * @author vegardh */ public abstract class AbstractConcreteDocumentFactory extends com.yahoo.component.AbstractComponent { + public abstract Map<String, Class<? extends Document>> documentTypes(); public abstract Map<String, Class<? extends Struct>> structTypes(); public abstract Map<String, Class<? extends Annotation>> annotationTypes(); @@ -41,4 +41,5 @@ public abstract class AbstractConcreteDocumentFactory extends com.yahoo.componen throw new RuntimeException(Exceptions.toMessageString(e), e); } } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/Accesses.java b/docproc/src/main/java/com/yahoo/docproc/Accesses.java index 9bcc9961058..4c19784ea37 100644 --- a/docproc/src/main/java/com/yahoo/docproc/Accesses.java +++ b/docproc/src/main/java/com/yahoo/docproc/Accesses.java @@ -8,13 +8,14 @@ import java.lang.annotation.Target; /** * Docprocs tagged with this will read and/or write annotations on the given field(s). + * * @author vegardh - * */ @Documented @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Accesses { + Field[] value(); /** diff --git a/docproc/src/main/java/com/yahoo/docproc/Call.java b/docproc/src/main/java/com/yahoo/docproc/Call.java index 24dc8292522..edde89cd01a 100644 --- a/docproc/src/main/java/com/yahoo/docproc/Call.java +++ b/docproc/src/main/java/com/yahoo/docproc/Call.java @@ -20,9 +20,10 @@ import java.util.List; * A document processor to call - an item on a {@link com.yahoo.docproc.CallStack}. * * @author bratseth - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class Call implements Cloneable { + private final DocumentProcessor processor; private final Counter docCounter; private final String docCounterName; @@ -34,17 +35,19 @@ public class Call implements Cloneable { this(processor, Statistics.nullImplementation, new NullMetric()); } - /** Creates a new call to a processor with no arguments. - * @param processor the document processor to call */ + /** + * Creates a new call to a processor with no arguments. + * + * @param processor the document processor to call + */ public Call(DocumentProcessor processor, Statistics manager, Metric metric) { this(processor, "", manager, metric); } public Call(DocumentProcessor processor, String chainName, Statistics manager, Metric metric) { this.processor = processor; - if (chainName == null) { + if (chainName == null) chainName = ""; - } chainName = chainName.replaceAll("[^\\p{Alnum}]", "_"); docCounterName = "docprocessor_" + chainName + "_" + getDocumentProcessorId().stringValue().replaceAll("[^\\p{Alnum}]", "_") + "_documents"; @@ -176,4 +179,5 @@ public class Call implements Cloneable { procTimeCounter.increment(increment); metric.add(procTimeCounterName, increment, null); } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/CallStack.java b/docproc/src/main/java/com/yahoo/docproc/CallStack.java index 387c892e108..1e7bf4fba8e 100644 --- a/docproc/src/main/java/com/yahoo/docproc/CallStack.java +++ b/docproc/src/main/java/com/yahoo/docproc/CallStack.java @@ -12,15 +12,11 @@ import java.util.List; import java.util.ListIterator; /** - * <p> - * A stack of the processors to call next in this processing. To push which + * <p>A stack of the processors to call next in this processing. To push which * processor to call next, call addNext, to get and remove the next processor, - * call pop. - * </p> + * call pop.</p> * - * <p> - * This is not thread safe. - * </p> + * <p>This is not thread safe.</p> * * @author bratseth */ @@ -376,20 +372,20 @@ public class CallStack { @Override public String toString() { - final StringBuffer buffer = new StringBuffer(); - buffer.append("callstack"); + StringBuilder b = new StringBuilder(); + b.append("callstack"); if (name != null) { - buffer.append(" "); - buffer.append(name); + b.append(" "); + b.append(name); } - buffer.append(":"); - for (final Iterator<Call> i = iterator(); i.hasNext();) { - buffer.append("\n"); - buffer.append(" "); - buffer.append(i.next().toString()); + b.append(":"); + for (Iterator<Call> i = iterator(); i.hasNext();) { + b.append("\n"); + b.append(" "); + b.append(i.next().toString()); } - buffer.append("\n"); - return buffer.toString(); + b.append("\n"); + return b.toString(); } public Statistics getStatistics() { @@ -399,4 +395,5 @@ public class CallStack { public Metric getMetric() { return metric; } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/DocprocExecutor.java b/docproc/src/main/java/com/yahoo/docproc/DocprocExecutor.java index b215ad36200..a1b640d5eb5 100644 --- a/docproc/src/main/java/com/yahoo/docproc/DocprocExecutor.java +++ b/docproc/src/main/java/com/yahoo/docproc/DocprocExecutor.java @@ -15,7 +15,7 @@ import java.util.logging.Logger; /** * An executor executed incoming processings on its CallStack * - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class DocprocExecutor { diff --git a/docproc/src/main/java/com/yahoo/docproc/DocprocService.java b/docproc/src/main/java/com/yahoo/docproc/DocprocService.java index b04f2c837e2..b7a5e3aa5ef 100644 --- a/docproc/src/main/java/com/yahoo/docproc/DocprocService.java +++ b/docproc/src/main/java/com/yahoo/docproc/DocprocService.java @@ -31,9 +31,8 @@ public class DocprocService extends AbstractComponent { private static Logger log = Logger.getLogger(DocprocService.class.getName()); private volatile DocprocExecutor executor; - /** - * The processings currently in progress at this service - */ + + /** The processings currently in progress at this service */ private final LinkedBlockingQueue<Processing> queue; /** The current state of this service */ private boolean inService = false; @@ -138,8 +137,8 @@ public class DocprocService extends AbstractComponent { /** * Returns the processing chain of this service. This stack can not be modified. * To change the stack, set a new one. - * TODO: Enforce unmodifiability */ + // TODO: Enforce unmodifiability public CallStack getCallStack() { DocprocExecutor ex = getExecutor(); return (ex == null) ? null : ex.getCallStack(); @@ -225,13 +224,12 @@ public class DocprocService extends AbstractComponent { } private void addProcessing(Processing processing) { - if (!isAcceptingNewProcessings()) { - throw new IllegalStateException("Docproc service " + getName() + " is not accepting new incoming processings. Cannot add " + processing + " "); - } + if ( ! isAcceptingNewProcessings()) + throw new IllegalStateException("Docproc service " + getName() + + " is not accepting new incoming processings. Cannot add " + processing + " "); - if (!queue.offer(processing)) { + if ( ! queue.offer(processing)) throw new RejectedExecutionException("Docproc service " + getName() + " is busy, please try later"); - } } /** @@ -370,4 +368,5 @@ public class DocprocService extends AbstractComponent { private class NoCallStackException extends RuntimeException { } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/DocumentOperationWrapper.java b/docproc/src/main/java/com/yahoo/docproc/DocumentOperationWrapper.java index 2f2cd51bf8b..35f3ffd33ea 100644 --- a/docproc/src/main/java/com/yahoo/docproc/DocumentOperationWrapper.java +++ b/docproc/src/main/java/com/yahoo/docproc/DocumentOperationWrapper.java @@ -4,8 +4,10 @@ package com.yahoo.docproc; import com.yahoo.document.DocumentOperation; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public interface DocumentOperationWrapper { - public DocumentOperation getWrappedDocumentOperation(); + + DocumentOperation getWrappedDocumentOperation(); + } diff --git a/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java b/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java index 1ef9ee8cc65..d6b456056bd 100644 --- a/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java +++ b/docproc/src/main/java/com/yahoo/docproc/DocumentProcessor.java @@ -41,10 +41,8 @@ import java.util.logging.Logger; * @author bratseth */ public abstract class DocumentProcessor extends ChainedComponent { - static Logger log = Logger.getLogger(DocprocService.class.getName()); - /** The number of instances of this processor */ - private static int instanceCounter = 1; + static Logger log = Logger.getLogger(DocprocService.class.getName()); /** Schema map for doctype-fieldnames */ private Map<Pair<String,String>, String> fieldMap = new HashMap<>(); @@ -163,10 +161,7 @@ public abstract class DocumentProcessor extends ChainedComponent { } - /** Schema map for field names - * (doctype,from)→to - * - */ + /** Schema map for field names (doctype,from)→to */ public Map<Pair<String, String>, String> getFieldMap() { return fieldMap; } @@ -187,11 +182,4 @@ public abstract class DocumentProcessor extends ChainedComponent { return ret; } - private void dumpMap(Map<?, String> m) { - System.out.print("["); - for (Map.Entry<?, String> e : m.entrySet()) { - System.out.print("("+e.getKey()+"->"+e.getValue()+")"); - } - System.out.print("]\n"); - } } diff --git a/docproc/src/main/java/com/yahoo/docproc/HandledProcessingException.java b/docproc/src/main/java/com/yahoo/docproc/HandledProcessingException.java index 0f2065c4be8..51fe89aa358 100644 --- a/docproc/src/main/java/com/yahoo/docproc/HandledProcessingException.java +++ b/docproc/src/main/java/com/yahoo/docproc/HandledProcessingException.java @@ -5,11 +5,12 @@ package com.yahoo.docproc; * Exception generated by known bad input in a docproc. Will cause only message to be logged, * not stacktrace. * - * @author <a href="mailto:mathiasm@yahoo-inc.com">Mathias M\u00F8lster Lidal</a> + * @author Mathias Mølster Lidal */ public class HandledProcessingException extends RuntimeException { public HandledProcessingException(String message) { super(message); } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/Processing.java b/docproc/src/main/java/com/yahoo/docproc/Processing.java index d6b82e96959..eacbf6ef132 100644 --- a/docproc/src/main/java/com/yahoo/docproc/Processing.java +++ b/docproc/src/main/java/com/yahoo/docproc/Processing.java @@ -18,10 +18,8 @@ import java.util.Map; * @author bratseth */ public class Processing { - /** - * The name of the service which owns this processing. - * Null is the same as "default" - */ + + /** The name of the service which owns this processing. Null is the same as "default" */ private String service = null; /** The processors to call the next work is done on this processing */ @@ -44,7 +42,7 @@ public class Processing { private ProcessingEndpoint endpoint = null; /** The registry of docproc services. */ - ComponentRegistry<DocprocService> docprocServiceRegistry = null; + private ComponentRegistry<DocprocService> docprocServiceRegistry = null; private boolean getNumDocsCalled = false; /** diff --git a/docproc/src/main/java/com/yahoo/docproc/ProcessingEndpoint.java b/docproc/src/main/java/com/yahoo/docproc/ProcessingEndpoint.java index c93d0c7f0f3..27075b48be7 100644 --- a/docproc/src/main/java/com/yahoo/docproc/ProcessingEndpoint.java +++ b/docproc/src/main/java/com/yahoo/docproc/ProcessingEndpoint.java @@ -2,12 +2,12 @@ package com.yahoo.docproc; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public interface ProcessingEndpoint { - public void processingDone(Processing processing); + void processingDone(Processing processing); - public void processingFailed(Processing processing, Exception exception); + void processingFailed(Processing processing, Exception exception); } diff --git a/docproc/src/main/java/com/yahoo/docproc/SimpleDocumentProcessor.java b/docproc/src/main/java/com/yahoo/docproc/SimpleDocumentProcessor.java index 5865e190110..bcd1ee521bc 100644 --- a/docproc/src/main/java/com/yahoo/docproc/SimpleDocumentProcessor.java +++ b/docproc/src/main/java/com/yahoo/docproc/SimpleDocumentProcessor.java @@ -22,10 +22,11 @@ import com.yahoo.log.LogLevel; * <p>SimpleDocumentProcessor is for the <em>simple</em> cases. For complete control over document processing, * like returning instances of {@link DocumentProcessor.LaterProgress}, subclass {@link DocumentProcessor} instead.</p> * - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> - * @author <a href="mailto:havardpe@yahoo-inc.com">Haavard Pettersen</a> + * @author Einar M R Rosenvinge + * @author havardpe */ public class SimpleDocumentProcessor extends DocumentProcessor { + /** * Override this to process the Document inside a DocumentPut. * @deprecated use process(DocumentPut) @@ -33,6 +34,7 @@ public class SimpleDocumentProcessor extends DocumentProcessor { * @param document the Document to process. */ @Deprecated + // TODO: Remove on Vespa 7 public void process(Document document) { if (log.isLoggable(LogLevel.DEBUG)) { log.log(LogLevel.DEBUG, "Ignored " + document); @@ -46,6 +48,7 @@ public class SimpleDocumentProcessor extends DocumentProcessor { * * @param put the DocumentPut to process. */ + @SuppressWarnings("deprecation") public void process(DocumentPut put) { process(put.getDocument()); } @@ -118,4 +121,5 @@ public class SimpleDocumentProcessor extends DocumentProcessor { return Progress.DONE; } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/TransientFailureException.java b/docproc/src/main/java/com/yahoo/docproc/TransientFailureException.java index 1b633ffd2f1..cda196f309c 100644 --- a/docproc/src/main/java/com/yahoo/docproc/TransientFailureException.java +++ b/docproc/src/main/java/com/yahoo/docproc/TransientFailureException.java @@ -5,10 +5,12 @@ package com.yahoo.docproc; * Exception to be thrown by a document processor on transient failures. Caller * is welcome to try the call again later. * - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class TransientFailureException extends RuntimeException { + public TransientFailureException(String s) { super(s); } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadManager.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadManager.java index d95ae14ff2e..4fb3c8f0913 100644 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadManager.java +++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadManager.java @@ -11,9 +11,10 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Logger; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ class DocprocThreadManager { + private static Logger log = Logger.getLogger(DocprocThreadManager.class.getName()); private final long maxConcurrentByteSize; diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java index 8e4fb1d471f..1d3e85057ec 100644 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java +++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java @@ -11,7 +11,7 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Logger; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class DocprocThreadPoolExecutor extends ThreadPoolExecutor { @@ -55,4 +55,5 @@ public class DocprocThreadPoolExecutor extends ThreadPoolExecutor { boolean isAboveLimit() { return threadManager.isAboveLimit(); } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java index 7b3a3aa5dfa..1b84d0f9ffa 100644 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java +++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java @@ -40,7 +40,7 @@ import static com.yahoo.component.chain.model.ChainsModelBuilder.buildFromConfig /** * TODO: Javadoc * - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class DocumentProcessingHandler extends AbstractRequestHandler { @@ -232,4 +232,5 @@ public class DocumentProcessingHandler extends AbstractRequestHandler { public DocumentTypeManager getDocumentTypeManager() { return documentTypeManager; } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandlerParameters.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandlerParameters.java index 6950697718d..cec943306c8 100644 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandlerParameters.java +++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandlerParameters.java @@ -12,10 +12,11 @@ import com.yahoo.statistics.Statistics; /** * Class to hold parameters given to DocumentProcessingHandler, typically used by unit tests. * - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge * @see com.yahoo.docproc.jdisc.DocumentProcessingHandler */ public class DocumentProcessingHandlerParameters { + private int maxNumThreads = 0; private double maxConcurrentFactor = 0.2; private double documentExpansionFactor = 20.0; @@ -166,4 +167,5 @@ public class DocumentProcessingHandlerParameters { public ContainerDocumentConfig getContainerDocConfig() { return containerDocConfig; } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java index 4849086985e..0bc95fe6c7b 100644 --- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java +++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingTask.java @@ -24,9 +24,10 @@ import java.util.logging.Level; import java.util.logging.Logger; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class DocumentProcessingTask implements Comparable<DocumentProcessingTask>, Runnable { + private static Logger log = Logger.getLogger(DocumentProcessingTask.class.getName()); private final List<Processing> processings = new ArrayList<>(); private final List<Processing> processingsDone = new ArrayList<>(); @@ -232,4 +233,5 @@ public class DocumentProcessingTask implements Comparable<DocumentProcessingTask log.log(LogLevel.DEBUG, "Failed to process " + processing + ": " + backtrace.toString()); } } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocument.java b/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocument.java index 3a15446a732..2c2c8e853a3 100644 --- a/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocument.java +++ b/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocument.java @@ -36,7 +36,7 @@ import java.util.Set; * into account a schema map of field names. <li>We support mapping into struct fields of arbitrary depth using * from→mystruct.mystruct.myfield </ul> We also enforce the @Accesses annotation(s) of the doc proc which uses this. * - * @author <a href="mailto:vegardh@yahoo-inc.com">Vegard Havdal</a> + * @author Vegard Havdal */ public class ProxyDocument extends Document implements DocumentOperationWrapper { diff --git a/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java b/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java index 154c52204da..a0516a62bd9 100644 --- a/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java +++ b/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java @@ -15,15 +15,16 @@ import java.util.Map; /** * Schema mapped facade to a DocumentUpdate + * * @author vegardh - * */ public class ProxyDocumentUpdate extends DocumentUpdate implements DocumentOperationWrapper { private DocumentUpdate docU; + /** - * The field name map for schema mapping. The key is the field name that the docproc uses. The value is the actual name of the field - * in the document. + * The field name map for schema mapping. The key is the field name that the docproc uses. + * The value is the actual name of the field in the document. */ private Map<String, String> fieldMap; @@ -116,4 +117,5 @@ public class ProxyDocumentUpdate extends DocumentUpdate implements DocumentOpera } return innermostDocOp; } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/proxy/SchemaMap.java b/docproc/src/main/java/com/yahoo/docproc/proxy/SchemaMap.java index 98d9dc3320c..fb7e34021d2 100644 --- a/docproc/src/main/java/com/yahoo/docproc/proxy/SchemaMap.java +++ b/docproc/src/main/java/com/yahoo/docproc/proxy/SchemaMap.java @@ -14,15 +14,12 @@ import java.util.logging.Logger; /** * Can be used to map field names from input doc into names used in a docproc that was * written with generic field names. + * * @author vegardh - * */ public class SchemaMap implements ConfigSubscriber.SingleSubscriber<SchemamappingConfig> { - /** - * Map key. Doctype can be null, not the others. - * @author vegardh - * - */ + + /** Map key. Doctype can be null, not the others. */ class SchemaMapKey { private final String chain; @@ -127,5 +124,4 @@ public class SchemaMap implements ConfigSubscriber.SingleSubscriber<Schemamappin return ret; } - } diff --git a/docproc/src/main/java/com/yahoo/docproc/util/JoinerDocumentProcessor.java b/docproc/src/main/java/com/yahoo/docproc/util/JoinerDocumentProcessor.java index f0baac27631..6242be25f86 100644 --- a/docproc/src/main/java/com/yahoo/docproc/util/JoinerDocumentProcessor.java +++ b/docproc/src/main/java/com/yahoo/docproc/util/JoinerDocumentProcessor.java @@ -20,7 +20,7 @@ import static com.yahoo.docproc.util.SplitterDocumentProcessor.validate; import static com.yahoo.docproc.util.SplitterDocumentProcessor.doProcessOuterDocument; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class JoinerDocumentProcessor extends DocumentProcessor { @@ -28,7 +28,7 @@ public class JoinerDocumentProcessor extends DocumentProcessor { private String documentTypeName; private String arrayFieldName; private String contextFieldName; - DocumentTypeManager manager; + private DocumentTypeManager manager; public JoinerDocumentProcessor(SplitterJoinerDocumentProcessorConfig cfg, DocumentmanagerConfig documentmanagerConfig) { super(); @@ -68,4 +68,5 @@ public class JoinerDocumentProcessor extends DocumentProcessor { processing.removeVariable(contextFieldName); return Progress.DONE; } + } diff --git a/docproc/src/main/java/com/yahoo/docproc/util/SplitterDocumentProcessor.java b/docproc/src/main/java/com/yahoo/docproc/util/SplitterDocumentProcessor.java index 5fb99fa0e15..18e4294480b 100644 --- a/docproc/src/main/java/com/yahoo/docproc/util/SplitterDocumentProcessor.java +++ b/docproc/src/main/java/com/yahoo/docproc/util/SplitterDocumentProcessor.java @@ -19,7 +19,7 @@ import java.util.logging.Logger; import java.util.stream.Collectors; /** - * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a> + * @author Einar M R Rosenvinge */ public class SplitterDocumentProcessor extends DocumentProcessor { diff --git a/vespajlib/src/main/java/com/yahoo/collections/ArraySet.java b/vespajlib/src/main/java/com/yahoo/collections/ArraySet.java index 18e52090033..dee8417f15b 100644 --- a/vespajlib/src/main/java/com/yahoo/collections/ArraySet.java +++ b/vespajlib/src/main/java/com/yahoo/collections/ArraySet.java @@ -18,15 +18,16 @@ import java.util.Set; * in IdentityHashMap, where the key set is often used as an identity set. * </p> * - * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a> + * @author Steinar Knutsen * @author baldersheim - * @since 5.1.4 * * @param <E> * the type contained in the Set */ public final class ArraySet<E> implements Set<E> { + private class ArrayIterator<T> implements Iterator<E> { + private int i = -1; private boolean removed = false; |