diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-09-09 17:00:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-09 17:00:16 +0200 |
commit | 979cb96cdeb6739d7ea769c60a04bac174619be1 (patch) | |
tree | 398df7405a72f47f14f90d421cda829d385f010b /config-proxy | |
parent | 9cf8fa3a53f581dfa794a8c1610844c6a9d460e0 (diff) |
Revert "Revert "Use both xxhash64 and md5 for config payload in requests and responses [run-systemtest]""
Diffstat (limited to 'config-proxy')
4 files changed, 29 insertions, 22 deletions
diff --git a/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/ConfigProxyRpcServer.java b/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/ConfigProxyRpcServer.java index 3700dee92e3..2d9f4bd7fd0 100644 --- a/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/ConfigProxyRpcServer.java +++ b/config-proxy/src/main/java/com/yahoo/vespa/config/proxy/ConfigProxyRpcServer.java @@ -12,7 +12,6 @@ import com.yahoo.jrt.StringValue; import com.yahoo.jrt.Supervisor; import com.yahoo.jrt.Target; import com.yahoo.jrt.TargetWatcher; -import java.util.logging.Level; import com.yahoo.vespa.config.JRTMethods; import com.yahoo.vespa.config.RawConfig; import com.yahoo.vespa.config.protocol.JRTServerConfigRequest; @@ -23,6 +22,7 @@ import java.util.Iterator; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; +import java.util.logging.Level; import java.util.logging.Logger; /** @@ -353,7 +353,7 @@ public class ConfigProxyRpcServer implements Runnable, TargetWatcher, RpcServer request.addOkResponse(config.getPayload(), config.getGeneration(), config.applyOnRestart(), - config.getConfigMd5()); + config.getPayloadChecksums()); log.log(Level.FINE, () -> "Return response: " + request.getShortDescription() + ",configMd5=" + config.getConfigMd5() + ",generation=" + config.getGeneration()); log.log(Level.FINEST, () -> "Config payload in response for " + request.getShortDescription() + ":" + config.getPayload()); diff --git a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java index 1b009b80fc1..45f52479cbd 100644 --- a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java +++ b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ConfigTester.java @@ -5,6 +5,8 @@ import com.yahoo.jrt.Request; import com.yahoo.slime.Slime; import com.yahoo.vespa.config.ConfigKey; import com.yahoo.vespa.config.ConfigPayload; +import com.yahoo.vespa.config.PayloadChecksum; +import com.yahoo.vespa.config.PayloadChecksums; import com.yahoo.vespa.config.RawConfig; import com.yahoo.vespa.config.protocol.CompressionType; import com.yahoo.vespa.config.protocol.DefContent; @@ -19,6 +21,9 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +import static com.yahoo.vespa.config.PayloadChecksum.Type.MD5; +import static com.yahoo.vespa.config.PayloadChecksum.Type.XXHASH64; + /** * @author bratseth */ @@ -42,7 +47,8 @@ public class ConfigTester { long generation = 1; String defMd5 = ConfigUtils.getDefMd5(defContent); - String configMd5 = ConfigUtils.getMd5(fooConfigPayload); + PayloadChecksums configMd5 = PayloadChecksums.from(new PayloadChecksum(ConfigUtils.getMd5(fooConfigPayload), MD5), + PayloadChecksum.empty(XXHASH64)); fooConfig = new RawConfig(configKey, defMd5, fooPayload, configMd5, generation, false, defContent, Optional.empty()); @@ -57,24 +63,24 @@ public class ConfigTester { JRTServerConfigRequest createRequest(RawConfig config, long timeout) { return createRequest(config.getName(), config.getConfigId(), config.getNamespace(), - config.getConfigMd5(), config.getGeneration(), timeout); + config.getPayloadChecksums(), config.getGeneration(), timeout); } JRTServerConfigRequest createRequest(String configName, String configId, String namespace, long timeout) { - return createRequest(configName, configId, namespace, null, 0, timeout); + return createRequest(configName, configId, namespace, PayloadChecksums.empty(), 0, timeout); } private JRTServerConfigRequest createRequest(String configName, String configId, String namespace, - String md5, + PayloadChecksums payloadChecksums, long generation, long timeout) { Request request = JRTClientConfigRequestV3. createWithParams(new ConfigKey<>(configName, configId, namespace, null), DefContent.fromList(defContent), "fromHost", - md5, + payloadChecksums, generation, timeout, Trace.createDummy(), diff --git a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MemoryCacheTest.java b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MemoryCacheTest.java index 485a091d9ae..b47c0bcc5ce 100644 --- a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MemoryCacheTest.java +++ b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/MemoryCacheTest.java @@ -1,10 +1,11 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.proxy; import com.yahoo.slime.Slime; import com.yahoo.vespa.config.ConfigCacheKey; import com.yahoo.vespa.config.ConfigKey; import com.yahoo.vespa.config.ConfigPayload; +import com.yahoo.vespa.config.PayloadChecksums; import com.yahoo.vespa.config.RawConfig; import com.yahoo.vespa.config.protocol.Payload; import org.junit.Before; @@ -18,24 +19,24 @@ import static org.junit.Assert.*; /** * @author hmusum - * @since 5.1.9 */ public class MemoryCacheTest { - private String defName = "foo"; - private String configId = "id"; - private String namespace = "bar"; + + private final String defName = "foo"; + private final String configId = "id"; + private final String namespace = "bar"; private static final String defMd5 = "a"; - private long generation = 1L; - private String defName2 = "baz-quux"; - private String namespace2 = "search.config"; + private final long generation = 1L; + private final String defName2 = "baz-quux"; + private final String namespace2 = "search.config"; // Test with a config id with / in it - private String configId2 = "clients/gateways/gateway/component/com.yahoo.feedhandler.VespaFeedHandlerRemoveLocation"; + private final String configId2 = "clients/gateways/gateway/component/com.yahoo.feedhandler.VespaFeedHandlerRemoveLocation"; private static final String defMd52 = "a2"; private static final String differentDefMd5 = "09ef"; - private static final String configMd5 = "b"; - private ConfigKey<?> configKey = new ConfigKey<>(defName, configId, namespace); - private ConfigKey<?> configKey2 = new ConfigKey<>(defName2, configId2, namespace2); + private static final PayloadChecksums configMd5 = PayloadChecksums.from("b", ""); + private final ConfigKey<?> configKey = new ConfigKey<>(defName, configId, namespace); + private final ConfigKey<?> configKey2 = new ConfigKey<>(defName2, configId2, namespace2); private ConfigCacheKey cacheKey; private ConfigCacheKey cacheKeyDifferentMd5; private ConfigCacheKey cacheKey2; diff --git a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ProxyServerTest.java b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ProxyServerTest.java index 87c1fa151f8..32e68c662e8 100644 --- a/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ProxyServerTest.java +++ b/config-proxy/src/test/java/com/yahoo/vespa/config/proxy/ProxyServerTest.java @@ -35,7 +35,7 @@ public class ProxyServerTest { // errorConfig based on fooConfig private static final ConfigKey<?> errorConfigKey = new ConfigKey<>("error", fooConfig.getConfigId(), fooConfig.getNamespace()); static final RawConfig errorConfig = new RawConfig(errorConfigKey, fooConfig.getDefMd5(), fooConfig.getPayload(), - fooConfig.getConfigMd5(), fooConfig.getGeneration(), false, + fooConfig.getPayloadChecksums(), fooConfig.getGeneration(), false, ErrorCode.UNKNOWN_DEFINITION, fooConfig.getDefContent(), Optional.empty()); @Rule @@ -179,7 +179,7 @@ public class ProxyServerTest { // Simulate an empty response RawConfig emptyConfig = new RawConfig(fooConfig.getKey(), fooConfig.getDefMd5(), Payload.from("{}"), - fooConfig.getConfigMd5(), 0, false, + fooConfig.getPayloadChecksums(), 0, false, 0, fooConfig.getDefContent(), Optional.empty()); source.put(fooConfig.getKey(), emptyConfig); @@ -238,7 +238,7 @@ public class ProxyServerTest { static RawConfig createConfigWithNextConfigGeneration(RawConfig config, int errorCode, Payload payload, long configGeneration) { return new RawConfig(config.getKey(), config.getDefMd5(), - payload, config.getConfigMd5(), + payload, config.getPayloadChecksums(), configGeneration, false, errorCode, config.getDefContent(), Optional.empty()); } |