summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-07-06 23:56:31 +0200
committerHarald Musum <musum@yahooinc.com>2022-07-06 23:56:31 +0200
commit95eb9e6370177cf64ef5d91bc4bf449f1707b174 (patch)
tree276e6caf5ceb0216a17fe88c7ae1af3321d88014 /configserver
parent0324d55af2663c0490a6255e4f85246108880a21 (diff)
Add extra parameter in meta request when compressiont type is != gzip
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java11
2 files changed, 13 insertions, 2 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
index 92bb44a3654..7993e58d06e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
@@ -528,7 +528,9 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
request.parameters().add(new StringValue(fileData.filename()));
request.parameters().add(new StringValue(fileData.type().name()));
request.parameters().add(new Int64Value(fileData.size()));
- request.parameters().add(new StringValue(fileData.compressionType().name()));
+ // Only add paramter if not gzip, this is default and old clients will not handle the extra parameter
+ if (fileData.compressionType() != CompressionType.gzip)
+ request.parameters().add(new StringValue(fileData.compressionType().name()));
return request;
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java
index fe3bf4a2a29..8607fc0e2dc 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java
@@ -38,6 +38,7 @@ import java.io.File;
import java.io.IOException;
import java.util.Optional;
+import static com.yahoo.vespa.filedistribution.FileReferenceData.CompressionType.gzip;
import static com.yahoo.vespa.filedistribution.FileReferenceData.CompressionType.lz4;
import static com.yahoo.vespa.filedistribution.FileReferenceData.Type.compressed;
import static com.yahoo.vespa.config.server.rpc.RpcServer.ChunkedFileReceiver.createMetaRequest;
@@ -104,7 +105,15 @@ public class RpcServerTest {
@Test
public void testFileReceiverMetaRequest() throws IOException {
File file = temporaryFolder.newFile();
- Request request = createMetaRequest(new LazyFileReferenceData(new FileReference("foo"), "fileA", compressed, file, lz4));
+ Request request = createMetaRequest(new LazyFileReferenceData(new FileReference("foo"), "fileA", compressed, file, gzip));
+ assertEquals(4, request.parameters().size());
+ assertEquals("foo", request.parameters().get(0).asString());
+ assertEquals("fileA", request.parameters().get(1).asString());
+ assertEquals("compressed", request.parameters().get(2).asString());
+ assertEquals(0, request.parameters().get(3).asInt64());
+
+ request = createMetaRequest(new LazyFileReferenceData(new FileReference("foo"), "fileA", compressed, file, lz4));
+ assertEquals(5, request.parameters().size());
assertEquals("foo", request.parameters().get(0).asString());
assertEquals("fileA", request.parameters().get(1).asString());
assertEquals("compressed", request.parameters().get(2).asString());