aboutsummaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-08-15 11:15:53 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-08-15 11:15:53 +0200
commit6de0cbab773533fcce8783cbf72584aa19023036 (patch)
tree5b0feb2617078c14e1d5a2cc4ce54dea0f3ac134 /container-search
parentd24cd657b1793c689fb3c8bafdedb7bf908eaec0 (diff)
Location should also be sent anyway.
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java9
2 files changed, 8 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
index 68beb16c254..3db5e291a45 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
@@ -140,7 +140,7 @@ public class ProtobufSerialization {
builder.setCacheQuery(true);
builder.setSessionKey(query.getSessionId(serverId).toString());
}
- builder.setRankProfile(query.getRanking().getProfile());
+ builder.setRankProfile(ranking.getProfile());
if (ranking.getLocation() != null) {
builder.setGeoLocation(ranking.getLocation().toString());
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java
index 33215f0a9f2..712dca2c34a 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java
@@ -7,6 +7,7 @@ import com.yahoo.compress.Compressor;
import com.yahoo.container.protect.Error;
import com.yahoo.data.access.Inspector;
import com.yahoo.data.access.slime.SlimeAdapter;
+import com.yahoo.prelude.Location;
import com.yahoo.prelude.fastsearch.DocumentDatabase;
import com.yahoo.prelude.fastsearch.FastHit;
import com.yahoo.prelude.fastsearch.TimeoutException;
@@ -113,13 +114,14 @@ public class RpcFillInvoker extends FillInvoker {
Query query = result.getQuery();
String rankProfile = query.getRanking().getProfile();
byte[] serializedSlime = BinaryFormat
- .encode(toSlime(rankProfile, summaryClass, query.getModel().getDocumentDb(), query.getSessionId(), hits));
+ .encode(toSlime(rankProfile, summaryClass, query.getModel().getDocumentDb(),
+ query.getSessionId(), query.getRanking().getLocation(), hits));
double timeoutSeconds = ((double) query.getTimeLeft() - 3.0) / 1000.0;
Compressor.Compression compressionResult = resourcePool.compress(query, serializedSlime);
node.getDocsums(hits, compressionResult.type(), serializedSlime.length, compressionResult.data(), responseReceiver, timeoutSeconds);
}
- static private Slime toSlime(String rankProfile, String summaryClass, String docType, SessionId sessionId, List<FastHit> hits) {
+ static private Slime toSlime(String rankProfile, String summaryClass, String docType, SessionId sessionId, Location location, List<FastHit> hits) {
Slime slime = new Slime();
Cursor root = slime.setObject();
if (summaryClass != null) {
@@ -134,6 +136,9 @@ public class RpcFillInvoker extends FillInvoker {
if (rankProfile != null) {
root.setString("ranking", rankProfile);
}
+ if (location != null) {
+ root.setString("location", location.toString());
+ }
Cursor gids = root.setArray("gids");
for (FastHit hit : hits) {
gids.addData(hit.getGlobalId().getRawId());