summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/abi-spec.json1
-rw-r--r--searchlib/pom.xml4
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/aggregation/Grouping.java6
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java1
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java60
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ExpressionNode.java14
-rw-r--r--searchlib/src/test/files/testSpecialNodesbin93 -> 77 bytes
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java11
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java19
-rw-r--r--searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp3
-rw-r--r--searchlib/src/tests/grouping/grouping_serialization_test.cpp1
-rw-r--r--searchlib/src/tests/grouping/grouping_test.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.h3
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
index 149cc17f99b..d1a65b16666 100644
--- a/searchlib/src/test/files/testSpecialNodes
+++ b/searchlib/src/test/files/testSpecialNodes
Binary files differ
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;
};