diff options
Diffstat (limited to 'container-search/src')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java | 7 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java | 12 |
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); |