summaryrefslogtreecommitdiffstats
path: root/clustercontroller-core
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-06-05 20:56:50 +0200
committerHarald Musum <musum@yahooinc.com>2023-06-05 20:56:50 +0200
commita636f4ef967f6e68ed667b0e0dbb70a4ff65ee3b (patch)
tree32da876084319138a7bf268bd2077ad01176f837 /clustercontroller-core
parent4812c04b7edc6d0768d3da2e1009615f4378f633 (diff)
Require non-null MetricUpdater
Diffstat (limited to 'clustercontroller-core')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java10
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java14
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/EventLogTest.java9
3 files changed, 11 insertions, 22 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java
index e64e684ed70..0203ae060d8 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/EventLog.java
@@ -8,6 +8,7 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.TimeZone;
import java.util.TreeMap;
import java.util.logging.Level;
@@ -20,18 +21,17 @@ public class EventLog implements EventLogInterface {
private final Timer timer;
private final LinkedList<Event> eventLog = new LinkedList<>();
private final Map<Node, LinkedList<NodeEvent>> nodeLog = new TreeMap<>();
- private final MetricUpdater metricUpdater; // may be null
+ private final MetricUpdater metricUpdater;
private long eventsSeen = 0;
private final long startTime;
private int maxSize = 1024;
private int maxNodeSize = 1024;
private final long recentTimePeriod = 7 * 24 * 60 * 60 * 1000; // millisecs - 1 week
- /** Note: metricReporter may be null. */
public EventLog(Timer timer, MetricUpdater metricUpdater) {
this.timer = timer;
this.startTime = timer.getCurrentTimeInMillis();
- this.metricUpdater = metricUpdater;
+ this.metricUpdater = Objects.requireNonNull(metricUpdater, "metricUpdater must be non-null");
}
public void setMaxSize(int size, int nodesize) {
@@ -70,9 +70,7 @@ public class EventLog implements EventLogInterface {
public void addNodeOnlyEvent(NodeEvent e, java.util.logging.Level level) {
log.log(level, "Added node only event: " + e.toString());
- if (metricUpdater != null) {
- metricUpdater.recordNewNodeEvent();
- }
+ metricUpdater.recordNewNodeEvent();
LinkedList<NodeEvent> nodeList = nodeLog.get(e.getNode().getNode());
if (nodeList == null) {
nodeList = new LinkedList<>();
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java
index 8d5c2f685f8..68a740988ad 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ContentClusterHtmlRendererTest.java
@@ -6,6 +6,7 @@ import com.google.common.collect.Sets;
import com.yahoo.vdslib.state.ClusterState;
import com.yahoo.vespa.clustercontroller.core.hostinfo.HostInfo;
import com.yahoo.vespa.clustercontroller.core.status.statuspage.VdsClusterHtmlRenderer;
+import com.yahoo.vespa.clustercontroller.utils.util.NoMetricReporter;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -27,14 +28,13 @@ public class ContentClusterHtmlRendererTest {
@BeforeEach
public void before() throws IOException {
- final ClusterStateBundle stateBundle = ClusterStateBundle.ofBaselineOnly(
+ ClusterStateBundle stateBundle = ClusterStateBundle.ofBaselineOnly(
AnnotatedClusterState.withoutAnnotations(
ClusterState.stateFromString("version:34633 bits:24 distributor:211 storage:211")));
- final EventLog eventLog = new EventLog(new FakeTimer(), null);
-
- final VdsClusterHtmlRenderer.Table table = renderer.createNewClusterHtmlTable(clusterName, slobrokGeneration);
-
- final ContentCluster contentCluster = mock(ContentCluster.class);
+ var metricUpdater = new MetricUpdater(new NoMetricReporter(), 0, clusterName);
+ EventLog eventLog = new EventLog(new FakeTimer(), metricUpdater);
+ VdsClusterHtmlRenderer.Table table = renderer.createNewClusterHtmlTable(clusterName, slobrokGeneration);
+ ContentCluster contentCluster = mock(ContentCluster.class);
for (int x = 0; x < 10; x++) {
NodeInfo nodeInfo = new DistributorNodeInfo(contentCluster, x, "dist " + x, null);
@@ -57,7 +57,7 @@ public class ContentClusterHtmlRendererTest {
eventLog,
"pathPrefix",
"name");
- final StringBuilder stringBuilder = new StringBuilder();
+ StringBuilder stringBuilder = new StringBuilder();
table.addTable(stringBuilder, 34);
result = stringBuilder.toString();
}
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/EventLogTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/EventLogTest.java
index eee0cb41eeb..015fd78ac91 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/EventLogTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/EventLogTest.java
@@ -46,15 +46,6 @@ public class EventLogTest {
}
@Test
- void testNullMetricReporter() {
- initialize(null);
-
- eventLog.addNodeOnlyEvent(nodeEvent, Level.INFO);
-
- verifyNoMoreInteractions(metricUpdater);
- }
-
- @Test
void testNoEventsDoNotThrowException() {
initialize(metricUpdater);
StringBuilder builder = new StringBuilder();