summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-07-01 08:50:59 +0200
committerJon Bratseth <bratseth@gmail.com>2020-07-01 08:50:59 +0200
commit071a009c0cc00b8906790105e91ba5da817f983f (patch)
tree1cbdc4144248fa28cb1ce805e6141459c55390cb
parent906cbed5b431c8df1325441907c1602241f3f6ef (diff)
Use existing uncompressed length
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/Client.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java10
-rw-r--r--container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java4
3 files changed, 9 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/Client.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/Client.java
index bc0a38617ee..f4536a7aa4e 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/Client.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/Client.java
@@ -87,7 +87,7 @@ interface Client {
RpcFillInvoker.GetDocsumsResponseReceiver responseReceiver, double timeoutSeconds);
void request(String rpcMethod, CompressionType compression, int uncompressedLength, byte[] compressedPayload,
- ResponseReceiver responseReceiver, double timeoutSeconds);
+ ResponseReceiver responseReceiver, double timeoutSeconds);
/** Closes this connection */
void close();
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java
index 6ffc809bc45..4c0b77207d5 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java
@@ -58,8 +58,12 @@ public class RpcSearchInvoker extends SearchInvoker implements Client.ResponseRe
RpcContext context = getContext(incomingContext);
double timeoutSeconds = ((double) query.getTimeLeft() - 3.0) / 1000.0;
- nodeConnection.request(RPC_METHOD, context.compressedPayload.type(), context.payloadLength,
- context.compressedPayload.data(), this, timeoutSeconds);
+ nodeConnection.request(RPC_METHOD,
+ context.compressedPayload.type(),
+ context.compressedPayload.uncompressedSize(),
+ context.compressedPayload.data(),
+ this,
+ timeoutSeconds);
return context;
}
@@ -120,10 +124,8 @@ public class RpcSearchInvoker extends SearchInvoker implements Client.ResponseRe
static class RpcContext {
final Compressor.Compression compressedPayload;
- final int payloadLength;
RpcContext(RpcResourcePool resourcePool, Query query, byte[] payload) {
- this.payloadLength = payload.length;
compressedPayload = resourcePool.compress(query, payload);
}
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java
index 3b362963c8c..c421e9523ed 100644
--- a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java
+++ b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java
@@ -40,7 +40,7 @@ public class RpcSearchInvokerTest {
Query q = new Query("search/?query=test&hits=10&offset=3");
RpcSearchInvoker.RpcContext context = (RpcSearchInvoker.RpcContext) invoker.sendSearchRequest(q, null);
- assertTrue( context.payloadLength == lengthHolder.get());
+ assertEquals(lengthHolder.get(), context.compressedPayload.uncompressedSize());
assertSame(context.compressedPayload.data(), payloadHolder.get());
var bytes = mockPool.compressor().decompress(payloadHolder.get(), compressionTypeHolder.get(), lengthHolder.get());
@@ -53,7 +53,7 @@ public class RpcSearchInvokerTest {
var invoker2 = new RpcSearchInvoker(mockSearcher(), new Node(8, "eight", 1), mockPool, 1000);
RpcSearchInvoker.RpcContext context2 = (RpcSearchInvoker.RpcContext)invoker2.sendSearchRequest(q, context);
assertSame(context, context2);
- assertTrue( context.payloadLength == lengthHolder.get());
+ assertEquals(lengthHolder.get(), context.compressedPayload.uncompressedSize());
assertSame(context.compressedPayload.data(), payloadHolder.get());
}