diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-07-05 23:04:45 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-07-05 23:04:45 +0200 |
commit | d0a999c508838c4bdb5ff1208a21c1830b349b2a (patch) | |
tree | bcb61d62e24a24d570b6fec1259fa517e47eec77 /container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java | |
parent | a4c151090af3664e588d253b2eb9ca9309f5eac9 (diff) |
Set distribution key whe dispatching to content node
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java | 13 |
1 files changed, 11 insertions, 2 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 34e8390892d..3e9a92ea0f7 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 @@ -137,7 +137,7 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { addMetaInfo(query, queryPacketData, resultPacket, result, true); if (packetWrapper.getNumPackets() == 0) - addUnfilledHits(result, documents, true, queryPacketData, key); + addUnfilledHits(result, documents, true, queryPacketData, key, packetWrapper.distributionKey()); else addCachedHits(result, packetWrapper, summaryClass, documents); return result; @@ -616,8 +616,16 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { * * @param queryPacketData binary data from first phase of search, or null * @param cacheKey the key this hit should match in the packet cache, or null + * @param channelDistributionKey distribution key of the node producing these hits. + * Only set if produced directly by a search node, not dispatch + * (in which case it is not set in the received packets.) */ - boolean addUnfilledHits(Result result, List<DocumentInfo> documents, boolean fromCache, QueryPacketData queryPacketData, CacheKey cacheKey) { + boolean addUnfilledHits(Result result, + List<DocumentInfo> documents, + boolean fromCache, + QueryPacketData queryPacketData, + CacheKey cacheKey, + Optional<Integer> channelDistributionKey) { boolean allHitsOK = true; Query myQuery = result.getQuery(); @@ -634,6 +642,7 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { hit.setCached(fromCache); extractDocumentInfo(hit, document); + channelDistributionKey.ifPresent(hit::setDistributionKey); result.hits().add(hit); } catch (ConfigurationException e) { |