summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-03-06 21:06:00 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2019-03-06 21:06:00 +0100
commitc42c515d67cc07eac90ef07a9c3ef113441810b9 (patch)
treee70abe9ed4ebfc83db7a45ba148ef45220da69f7 /container-search
parent55f3d7a218c76324cc097843350ab600c1b8b900 (diff)
Put all backend traces in an array.
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java7
-rw-r--r--container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java12
2 files changed, 15 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java
index 55df050e915..f4d98b73a0d 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java
@@ -2,6 +2,7 @@
package com.yahoo.prelude.fastsearch;
import com.yahoo.collections.TinyIdentitySet;
+import com.yahoo.data.access.simple.Value;
import com.yahoo.data.access.slime.SlimeAdapter;
import com.yahoo.fs4.DocsumPacket;
import com.yahoo.fs4.DocumentInfo;
@@ -418,14 +419,16 @@ public abstract class VespaBackEndSearcher extends PingableSearcher {
private void addBackendTrace(Query query, QueryResultPacket resultPacket) {
if (resultPacket.propsArray == null) return;
+ Value.ArrayValue traces = new Value.ArrayValue();
for (FS4Properties properties : resultPacket.propsArray) {
if ( ! properties.getName().startsWith("trace")) continue;
for (FS4Properties.Entry entry : properties.getEntries()) {
if (!entry.key.equals("slime")) continue;
- SlimeAdapter adapter = new SlimeAdapter(BinaryFormat.decode(entry.getValue()).get());
- query.trace(adapter, query.getTraceLevel());
+ traces.add(new SlimeAdapter(BinaryFormat.decode(entry.getValue()).get()));
+
}
}
+ query.trace(traces, query.getTraceLevel());
}
void addMetaInfo(Query query, QueryPacketData queryPacketData, QueryResultPacket resultPacket, Result result) {
diff --git a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
index 012cf0f351b..9fb2e627e9c 100644
--- a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
@@ -255,7 +255,10 @@ public class JsonRendererTestCase {
+ " {"
+ " \"children\": ["
+ " {"
- + " \"message\": { \"colour\": \"yellow\"}"
+ + " \"message\": ["
+ + " { \"colour\": \"yellow\"},"
+ + " { \"colour\": \"green\"}"
+ + " ]"
+ " }"
+ " ]"
+ " },"
@@ -277,9 +280,14 @@ public class JsonRendererTestCase {
Execution e2 = new Execution(new Chain<Searcher>(), execution.context());
Query subQuery = new Query("/?query=b&tracelevel=1");
e2.search(subQuery);
+ Value.ArrayValue access = new Value.ArrayValue();
Slime slime = new Slime();
slime.setObject().setString("colour","yellow");
- subQuery.trace(new SlimeAdapter(slime.get()), 1);
+ access.add(new SlimeAdapter(slime.get()));
+ slime = new Slime();
+ slime.setObject().setString("colour","green");
+ access.add(new SlimeAdapter(slime.get()));
+ subQuery.trace(access, 1);
q.trace("marker", 1);
String summary = render(execution, r);
assertEqualJson(expected, summary);