summaryrefslogtreecommitdiffstats
path: root/metrics-proxy
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2021-09-16 08:48:54 +0200
committerHarald Musum <musum@yahooinc.com>2021-09-16 08:48:54 +0200
commit22ea86d66656347ece06d30d6dc0b16193788581 (patch)
treeb2f163bcb748db5e7255c25bd7888100284fa7d2 /metrics-proxy
parent808566e0a3ae8ce91689f4537f160192b42863e9 (diff)
Try to fix unstable unit tests
Make taskTimeout volatile
Diffstat (limited to 'metrics-proxy')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandler.java2
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java16
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java2
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetrieverTest.java16
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);