summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-01-04 15:33:40 +0100
committerGitHub <noreply@github.com>2019-01-04 15:33:40 +0100
commit8ea7795c01e0830bb9b218cb60759ffc01551f56 (patch)
tree233d9a7ca08d1d92fda3e1cbba47cabe14107c15
parent25dae9726666dc3372684a8393a9ad5933990eb6 (diff)
parent70120cb1035a5b1858dfb02753fd8f743bae6c5c (diff)
Merge pull request #8015 from vespa-engine/bratseth/add-hw-divergence-metric
Nonfunctional changes only
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/Search.java3
-rwxr-xr-xdocument/src/main/javacc/SelectParser.jj1
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/Result.java1
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/local/LocalAsyncSession.java1
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/local/test/LocalDocumentApiTestCase.java49
5 files changed, 54 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/Search.java b/config-model/src/main/java/com/yahoo/searchdefinition/Search.java
index 57ee5da5c54..7fd996edc39 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/Search.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/Search.java
@@ -523,6 +523,7 @@ public class Search implements Serializable, ImmutableSearch {
return summaryFields;
}
+ @Override
public int hashCode() {
return name.hashCode();
}
@@ -543,6 +544,7 @@ public class Search implements Serializable, ImmutableSearch {
return null;
}
+ @Override
public boolean equals(Object o) {
if (!(o instanceof Search)) {
return false;
@@ -552,6 +554,7 @@ public class Search implements Serializable, ImmutableSearch {
return getName().equals(other.getName());
}
+ @Override
public String toString() {
return "search definition '" + getName() + "'";
}
diff --git a/document/src/main/javacc/SelectParser.jj b/document/src/main/javacc/SelectParser.jj
index 99290370b76..f2b10a2cb71 100755
--- a/document/src/main/javacc/SelectParser.jj
+++ b/document/src/main/javacc/SelectParser.jj
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
/**
* @author Simon Thoresen Hult
- * @version $Id$
*/
options {
CACHE_TOKENS = true;
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/Result.java b/documentapi/src/main/java/com/yahoo/documentapi/Result.java
index 779f081a8e3..c905fa24cb1 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/Result.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/Result.java
@@ -98,4 +98,5 @@ public class Result {
/** Condition specified in operation not met error */
CONDITION_NOT_MET_ERROR
}
+
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/local/LocalAsyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/local/LocalAsyncSession.java
index 041c8187a97..4e331071be7 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/local/LocalAsyncSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/local/LocalAsyncSession.java
@@ -142,4 +142,5 @@ public class LocalAsyncSession implements AsyncSession {
responses.add(response);
}
}
+
}
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/local/test/LocalDocumentApiTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/local/test/LocalDocumentApiTestCase.java
index 0c3c9f1e076..a9f80ef73ad 100644
--- a/documentapi/src/test/java/com/yahoo/documentapi/local/test/LocalDocumentApiTestCase.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/local/test/LocalDocumentApiTestCase.java
@@ -9,6 +9,11 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
import static org.junit.Assert.*;
/**
@@ -51,4 +56,48 @@ public class LocalDocumentApiTestCase extends AbstractDocumentApiTestCase {
assertFalse(response.isSuccess());
session.destroy();
}
+
+ @Test
+ public void testAsyncFetch() {
+ AsyncSession session = access.createAsyncSession(new AsyncParameters());
+ List<DocumentId> ids = new ArrayList<>();
+ ids.add(new DocumentId("id:music:music::1"));
+ ids.add(new DocumentId("id:music:music::2"));
+ ids.add(new DocumentId("id:music:music::3"));
+ for (DocumentId id : ids)
+ session.put(new Document(access.getDocumentTypeManager().getDocumentType("music"), id));
+ int timeout = 100;
+
+ long startTime = System.currentTimeMillis();
+ Set<Long> outstandingRequests = new HashSet<>();
+ for (DocumentId id : ids) {
+ Result result = session.get(id);
+ if ( ! result.isSuccess())
+ throw new IllegalStateException("Failed requesting document " + id, result.getError().getCause());
+ outstandingRequests.add(result.getRequestId());
+ }
+
+ List<Document> documents = new ArrayList<>();
+ try {
+ while ( ! outstandingRequests.isEmpty()) {
+ int timeSinceStart = (int)(System.currentTimeMillis() - startTime);
+ Response response = session.getNext(timeout - timeSinceStart);
+ if (response == null)
+ throw new RuntimeException("Timed out waiting for documents"); // or return what you have
+ if ( ! outstandingRequests.contains(response.getRequestId())) continue; // Stale: Ignore
+
+ if (response.isSuccess())
+ documents.add(((DocumentResponse)response).getDocument());
+ outstandingRequests.remove(response.getRequestId());
+ }
+ }
+ catch (InterruptedException e) {
+ throw new RuntimeException("Interrupted while waiting for documents", e);
+ }
+
+ assertEquals(3, documents.size());
+ for (Document document : documents)
+ assertNotNull(document);
+ }
+
}