diff options
Diffstat (limited to 'searchlib')
14 files changed, 16 insertions, 120 deletions
diff --git a/searchlib/abi-spec.json b/searchlib/abi-spec.json index 39bf1603e58..79c633b9617 100644 --- a/searchlib/abi-spec.json +++ b/searchlib/abi-spec.json @@ -1294,7 +1294,6 @@ "public final boolean equals(java.lang.Object)", "public final java.lang.String toString()", "public abstract java.lang.StringBuilder toString(java.lang.StringBuilder, com.yahoo.searchlib.rankingexpression.rule.SerializationContext, java.util.Deque, com.yahoo.searchlib.rankingexpression.rule.CompositeNode)", - "public java.lang.String toString(com.yahoo.searchlib.rankingexpression.rule.SerializationContext, java.util.Deque, com.yahoo.searchlib.rankingexpression.rule.CompositeNode)", "public abstract com.yahoo.tensor.TensorType type(com.yahoo.tensor.evaluation.TypeContext)", "public abstract com.yahoo.searchlib.rankingexpression.evaluation.Value evaluate(com.yahoo.searchlib.rankingexpression.evaluation.Context)" ], diff --git a/searchlib/pom.xml b/searchlib/pom.xml index 597d7e665ee..1d7862d541e 100644 --- a/searchlib/pom.xml +++ b/searchlib/pom.xml @@ -5,12 +5,12 @@ <parent> <groupId>com.yahoo.vespa</groupId> <artifactId>parent</artifactId> - <version>6-SNAPSHOT</version> + <version>7-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> <artifactId>searchlib</artifactId> <packaging>container-plugin</packaging> - <version>6-SNAPSHOT</version> + <version>7-SNAPSHOT</version> <name>searchlib</name> <description>Search library functions.</description> <dependencies> diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java index a9e2bc73d6a..c13bde4b633 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java @@ -209,7 +209,7 @@ public class Grouping extends Identifiable { * * @param level The level to add. * @return This, to allow chaining. - * @throws NullPointerException If <tt>level</tt> argument is null. + * @throws NullPointerException If <code>level</code> argument is null. */ public Grouping addLevel(GroupingLevel level) { level.getClass(); // throws NullPointerException @@ -231,7 +231,7 @@ public class Grouping extends Identifiable { * * @param root The group to set as root. * @return This, to allow chaining. - * @throws NullPointerException If <tt>root</tt> argument is null. + * @throws NullPointerException If <code>root</code> argument is null. */ public Grouping setRoot(Group root) { root.getClass(); // throws NullPointerException @@ -249,7 +249,7 @@ public class Grouping extends Identifiable { } /** - * <p>Sets whether or not grouping should be forced to execute in a single pass. If false, this <tt>Grouping</tt> + * <p>Sets whether or not grouping should be forced to execute in a single pass. If false, this <code>Grouping</code> * might still execute in a single pass due to other constraints.</p> * * @param forceSinglePass True to force execution in single pass. diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java index 1144b01f638..ca53c6133be 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java @@ -37,7 +37,6 @@ public class ForceLoad { "BitFunctionNode", "FixedWidthBucketFunctionNode", "RangeBucketPreDefFunctionNode", - "GetYMUMChecksumFunctionNode", "DocumentFieldNode", "NullResultNode", "FunctionNode", diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java deleted file mode 100644 index 9fb47d0401c..00000000000 --- a/searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java +++ /dev/null @@ -1,60 +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.searchlib.expression; - -import com.yahoo.vespa.objects.Deserializer; -import com.yahoo.vespa.objects.ObjectVisitor; -import com.yahoo.vespa.objects.Serializer; - -/** - * This node is a request to retrieve the YMUM checksum of a document. - * - * @author baldersheim - * @author Simon Thoresen Hult - */ -public class GetYMUMChecksumFunctionNode extends DocumentAccessorNode { - - public static final int classId = registerClass(0x4000 + 74, GetYMUMChecksumFunctionNode.class); - private IntegerResultNode result = new IntegerResultNode(0); - - @Override - public ResultNode getResult() { - return result; - } - - @Override - protected int onGetClassId() { - return classId; - } - - @Override - protected void onSerialize(Serializer buf) { - super.onSerialize(buf); - result.serialize(buf); - } - - @Override - protected void onDeserialize(Deserializer buf) { - super.onDeserialize(buf); - result.deserialize(buf); - } - - @Override - public GetYMUMChecksumFunctionNode clone() { - GetYMUMChecksumFunctionNode obj = (GetYMUMChecksumFunctionNode)super.clone(); - if (result != null) { - obj.result = (IntegerResultNode)result.clone(); - } - return obj; - } - - @Override - public void visitMembers(ObjectVisitor visitor) { - super.visitMembers(visitor); - visitor.visit("result", result); - } - - @Override - protected boolean equalsExpression(ExpressionNode obj) { - return equals(result, ((GetYMUMChecksumFunctionNode)obj).result); - } -} diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java index c432e49fe2b..dba0da7301d 100755 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java @@ -45,20 +45,6 @@ public abstract class ExpressionNode implements Serializable { public abstract StringBuilder toString(StringBuilder builder, SerializationContext context, Deque<String> path, CompositeNode parent); /** - * Returns a script instance of this based on the supplied script functions. - * @deprecated use the faster one that takes and returns a StringBuilder instead. - * - * @param context the serialization context - * @param path the call path to this, used for cycle detection, or null if this is a root - * @param parent the parent node of this, or null if it a root - * @return the main script, referring to script instances. - */ - @Deprecated - public String toString(SerializationContext context, Deque<String> path, CompositeNode parent) { - return toString(new StringBuilder(), context, path, parent).toString(); - } - - /** * Returns the type this will return if evaluated with the given context. * * @param context the variable type bindings to use for this evaluation diff --git a/searchlib/src/test/files/testSpecialNodes b/searchlib/src/test/files/testSpecialNodes Binary files differindex 149cc17f99b..d1a65b16666 100644 --- a/searchlib/src/test/files/testSpecialNodes +++ b/searchlib/src/test/files/testSpecialNodes diff --git a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java index 969bc318391..b9d3bc3bd4d 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java @@ -72,7 +72,6 @@ public class GroupingSerializationTest { t.assertMatch(new AttributeNode("testattribute")); t.assertMatch(new DocumentFieldNode("testdocumentfield")); t.assertMatch(new GetDocIdNamespaceSpecificFunctionNode(new IntegerResultNode(7))); - t.assertMatch(new GetYMUMChecksumFunctionNode()); } } @@ -363,11 +362,13 @@ public class GroupingSerializationTest { @Override public void close() throws IOException { - boolean moreDataAvailable = in.read() != -1; + int bytesLeft = 0; + while (in.read() != -1) + bytesLeft++; in.close(); - if (moreDataAvailable) { - fail("The file was not fully consumed. Did you forget to deserialize an object on Java side?"); - } + if (bytesLeft > 0) + fail(FILE_PATH + "/" + fileName + " has " + bytesLeft + " bytes left. " + + "Did you forget to deserialize an object on Java side?"); } private static String toHexString(byte[] data) { diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java index 1fa012c83f7..d282dc17aaa 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java @@ -401,25 +401,6 @@ public class ExpressionTestCase { } @Test - public void testGetYMUMChecksumFunctionNode() { - GetYMUMChecksumFunctionNode a = new GetYMUMChecksumFunctionNode(); - assertTrue(a.getResult() instanceof IntegerResultNode); - assertSerialize(a); - try { - new GetYMUMChecksumFunctionNode().prepare(); - fail("Should not be able to prepare documentfieldnode"); - } catch (RuntimeException e) { - // expected - } - try { - new GetYMUMChecksumFunctionNode().execute(); - fail("Should not be able to execute documentfieldnode"); - } catch (RuntimeException e) { - // expected - } - } - - @Test public void testIntegerResultNode() { IntegerResultNode a = new IntegerResultNode(7); assertEquals(a.getInteger(), 7); diff --git a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp index eb49a556bdc..9e75a85d289 100644 --- a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp +++ b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp @@ -206,7 +206,7 @@ TEST("testGrowing") { LogDataStore::Config config; //(100000, 0.1, 3.0, 0.2, 8, true, CompressionConfig::LZ4, // WriteableFileChunk::Config(CompressionConfig(CompressionConfig::LZ4, 9, 60), 1000)); config.setMaxFileSize(100000).setMaxDiskBloatFactor(0.1).setMaxBucketSpread(3.0).setMinFileSizeFactor(0.2) - .compact2ActiveFile(true).compactCompression({CompressionConfig::LZ4}) + .compactCompression({CompressionConfig::LZ4}) .setFileConfig({{CompressionConfig::LZ4, 9, 60}, 1000}); vespalib::ThreadStackExecutor executor(8, 128*1024); DummyFileHeaderContext fileHeaderContext; @@ -1054,7 +1054,6 @@ TEST("require that config equality operator detects inequality") { EXPECT_FALSE(C() == C().setMinFileSizeFactor(0.3)); EXPECT_FALSE(C() == C().setFileConfig(WriteableFileChunk::Config({}, 70))); EXPECT_FALSE(C() == C().disableCrcOnRead(true)); - EXPECT_FALSE(C() == C().compact2ActiveFile(false)); EXPECT_FALSE(C() == C().compactCompression({CompressionConfig::ZSTD})); } diff --git a/searchlib/src/tests/grouping/grouping_serialization_test.cpp b/searchlib/src/tests/grouping/grouping_serialization_test.cpp index cdf8eb61381..e430559d74e 100644 --- a/searchlib/src/tests/grouping/grouping_serialization_test.cpp +++ b/searchlib/src/tests/grouping/grouping_serialization_test.cpp @@ -146,7 +146,6 @@ TEST_F("testSpecialNodes", Fixture("testSpecialNodes")) { f.checkObject(GetDocIdNamespaceSpecificFunctionNode( ResultNode::UP(new Int64ResultNode(7)))); } - f.checkObject(GetYMUMChecksumFunctionNode()); } TEST_F("testFunctionNodes", Fixture("testFunctionNodes")) { diff --git a/searchlib/src/tests/grouping/grouping_test.cpp b/searchlib/src/tests/grouping/grouping_test.cpp index 084f13795f7..fea18619ef9 100644 --- a/searchlib/src/tests/grouping/grouping_test.cpp +++ b/searchlib/src/tests/grouping/grouping_test.cpp @@ -1930,10 +1930,10 @@ Test::testAttributeMapLookup() ctx.add(StringAttrBuilder("key3").add("k3").add("k2").sp()); testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(10 + undefinedInteger), "smap{\"k1\"}.weight"); testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(20 + undefinedInteger), "smap{\"k2\"}.weight"); - testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(2 * undefinedInteger), "smap{\"k5\"}.weight"); + testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(0), "smap{\"k5\"}.weight"); testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(210), "smap{attribute(key1)}.weight"); testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(120), "smap{attribute(key2)}.weight"); - testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(2 * undefinedInteger), "smap{attribute(key3)}.weight"); + testAggregationSimple(ctx, SumAggregationResult(), Int64ResultNode(0), "smap{attribute(key3)}.weight"); testAggregationSimple(ctx, MinAggregationResult(), Int64ResultNode(10), "smap{attribute(key1)}.weight"); testAggregationSimple(ctx, MinAggregationResult(), Int64ResultNode(20), "smap{attribute(key2)}.weight"); testAggregationSimple(ctx, MaxAggregationResult(), Int64ResultNode(200), "smap{attribute(key1)}.weight"); diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp index 148d77738f9..590764bf469 100644 --- a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp +++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp @@ -35,7 +35,6 @@ LogDataStore::Config::Config() _maxBucketSpread(2.5), _minFileSizeFactor(0.2), _skipCrcOnRead(false), - _compact2ActiveFile(true), _compactCompression(CompressionConfig::LZ4), _fileConfig() { } @@ -46,7 +45,6 @@ LogDataStore::Config::operator == (const Config & rhs) const { (_maxDiskBloatFactor == rhs._maxDiskBloatFactor) && (_maxFileSize == rhs._maxFileSize) && (_minFileSizeFactor == rhs._minFileSizeFactor) && - (_compact2ActiveFile == rhs._compact2ActiveFile) && (_skipCrcOnRead == rhs._skipCrcOnRead) && (_compactCompression == rhs._compactCompression) && (_fileConfig == rhs._fileConfig); @@ -449,8 +447,7 @@ void LogDataStore::flushActiveAndWait(SerialNum syncToken) { } bool LogDataStore::shouldCompactToActiveFile(size_t compactedSize) const { - return _config.compact2ActiveFile() - || (_config.getMinFileSizeFactor() * _config.getMaxFileSize() > compactedSize); + return (_config.getMinFileSizeFactor() * _config.getMaxFileSize() > compactedSize); } void LogDataStore::setNewFileChunk(const LockGuard & guard, FileChunk::UP file) @@ -748,9 +745,7 @@ LogDataStore::verifyModificationTime(const NameIdSet & partList) if ( ! FastOS_File::Stat(idxName.c_str(), &idxStat)) { throw runtime_error(make_string("Failed to Stat '%s'\nDirectory =\n%s", idxName.c_str(), ls(partList).c_str())); } - ns_log::Logger::LogLevel logLevel = _config.compact2ActiveFile() - ? ns_log::Logger::warning - : ns_log::Logger::debug; + ns_log::Logger::LogLevel logLevel = ns_log::Logger::debug; if ((datStat._modifiedTimeNS < prevDatStat._modifiedTimeNS) && hasNonHeaderData(datName)) { VLOG(logLevel, "Older file '%s' is newer (%ld) than file '%s' (%ld)\nDirectory =\n%s", prevDatNam.c_str(), prevDatStat._modifiedTimeNS, diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.h b/searchlib/src/vespa/searchlib/docstore/logdatastore.h index 52d78cac2bd..91143ecd1d2 100644 --- a/searchlib/src/vespa/searchlib/docstore/logdatastore.h +++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.h @@ -52,12 +52,10 @@ public: double getMinFileSizeFactor() const { return _minFileSizeFactor; } bool crcOnReadDisabled() const { return _skipCrcOnRead; } - bool compact2ActiveFile() const { return _compact2ActiveFile; } const CompressionConfig & compactCompression() const { return _compactCompression; } const WriteableFileChunk::Config & getFileConfig() const { return _fileConfig; } Config & disableCrcOnRead(bool v) { _skipCrcOnRead = v; return *this;} - Config & compact2ActiveFile(bool v) { _compact2ActiveFile = v; return *this; } bool operator == (const Config &) const; private: @@ -66,7 +64,6 @@ public: double _maxBucketSpread; double _minFileSizeFactor; bool _skipCrcOnRead; - bool _compact2ActiveFile; CompressionConfig _compactCompression; WriteableFileChunk::Config _fileConfig; }; |