diff options
author | Harald Musum <musum@yahooinc.com> | 2021-09-16 08:48:54 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2021-09-16 08:48:54 +0200 |
commit | 22ea86d66656347ece06d30d6dc0b16193788581 (patch) | |
tree | b2f163bcb748db5e7255c25bd7888100284fa7d2 /metrics-proxy | |
parent | 808566e0a3ae8ce91689f4537f160192b42863e9 (diff) |
Try to fix unstable unit tests
Make taskTimeout volatile
Diffstat (limited to 'metrics-proxy')
4 files changed, 15 insertions, 21 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java index 7eb59917f9a..d5b82b31835 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java @@ -50,7 +50,7 @@ public class ApplicationMetricsHandler extends HttpHandlerBase { super(executor); this.metricsRetriever = metricsRetriever; this.metricsConsumers = metricsConsumers; - metricsRetriever.startPollAnwWait(); + metricsRetriever.startPollAndWait(); } @Override diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java index e5336a58c4e..289e875653f 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java @@ -12,22 +12,20 @@ import org.apache.hc.client5.http.config.RequestConfig; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.core5.util.Timeout; -import java.util.ArrayList; +import java.time.Clock; +import java.time.Duration; import java.util.HashMap; import java.util.HashSet; +import java.util.List; +import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.logging.Level; - -import java.time.Clock; -import java.time.Duration; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +58,7 @@ public class ApplicationMetricsRetriever extends AbstractComponent implements Ru private boolean stopped; // Non-final for testing - private Duration taskTimeout; + private volatile Duration taskTimeout; @Inject public ApplicationMetricsRetriever(MetricsNodesConfig nodesConfig) { @@ -135,7 +133,7 @@ public class ApplicationMetricsRetriever extends AbstractComponent implements Ru return metrics; } - void startPollAnwWait() { + void startPollAndWait() { try { synchronized (pollThread) { if ( ! pollThread.isAlive()) { diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java index 563ecab1346..5f1c045781c 100644 --- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java +++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java @@ -86,7 +86,7 @@ public class ApplicationMetricsHandlerTest { applicationMetricsRetriever, getMetricsConsumers()); applicationMetricsRetriever.getMetrics(ConsumerId.toConsumerId(CUSTOM_CONSUMER)); - applicationMetricsRetriever.startPollAnwWait(); + applicationMetricsRetriever.startPollAndWait(); testDriver = new RequestHandlerTestDriver(handler); } diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetrieverTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetrieverTest.java index d01001b9e93..b478f1ce632 100644 --- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetrieverTest.java +++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetrieverTest.java @@ -1,7 +1,6 @@ -// Copyright 2020 Oath Inc. 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 ai.vespa.metricsproxy.http.application; -import ai.vespa.metricsproxy.metric.model.MetricsPacket; import com.github.tomakehurst.wiremock.junit.WireMockRule; import org.junit.Before; import org.junit.Rule; @@ -9,8 +8,6 @@ import org.junit.Test; import java.time.Duration; import java.util.Arrays; -import java.util.List; -import java.util.concurrent.TimeoutException; import static ai.vespa.metricsproxy.TestUtil.getFileContents; import static ai.vespa.metricsproxy.http.application.ApplicationMetricsRetriever.MAX_THREADS; @@ -24,7 +21,6 @@ import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options import static java.util.stream.Collectors.toList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; /** * @author gjoranv @@ -58,7 +54,7 @@ public class ApplicationMetricsRetrieverTest { .willReturn(aResponse().withBody(RESPONSE))); ApplicationMetricsRetriever retriever = new ApplicationMetricsRetriever(config); - retriever.startPollAnwWait(); + retriever.startPollAndWait(); var metricsByNode = retriever.getMetrics(); assertEquals(1, metricsByNode.size()); assertEquals(4, metricsByNode.get(node).size()); @@ -76,7 +72,7 @@ public class ApplicationMetricsRetrieverTest { .willReturn(aResponse().withBody(RESPONSE))); ApplicationMetricsRetriever retriever = new ApplicationMetricsRetriever(config); - retriever.startPollAnwWait(); + retriever.startPollAndWait(); var metricsByNode = retriever.getMetrics(); assertEquals(2, metricsByNode.size()); assertEquals(4, metricsByNode.get(node0).size()); @@ -105,7 +101,7 @@ public class ApplicationMetricsRetrieverTest { .willReturn(aResponse().withBody(RESPONSE))); ApplicationMetricsRetriever retriever = new ApplicationMetricsRetriever(config); - retriever.startPollAnwWait(); + retriever.startPollAndWait(); var metricsByNode = retriever.getMetrics(); assertEquals(2, metricsByNode.size()); assertEquals(0, metricsByNode.get(node0).size()); @@ -123,7 +119,7 @@ public class ApplicationMetricsRetrieverTest { ApplicationMetricsRetriever retriever = new ApplicationMetricsRetriever(config); retriever.setTaskTimeout(Duration.ofMillis(1)); - retriever.startPollAnwWait(); + retriever.startPollAndWait(); assertTrue(retriever.getMetrics().get(node).isEmpty()); } @@ -140,7 +136,7 @@ public class ApplicationMetricsRetrieverTest { ApplicationMetricsRetriever retriever = new ApplicationMetricsRetriever(config); retriever.setTaskTimeout(Duration.ofMillis(1)); - retriever.startPollAnwWait(); + retriever.startPollAndWait(); assertTrue(retriever.getMetrics().get(node).isEmpty()); // Verify successful retrieving wireMockRule.removeStubMapping(delayedStub); |