You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2017/12/12 19:27:35 UTC

[08/10] flink git commit: [hotfix][metrics] Refactor CheckpointStatsTrackerTest

[hotfix][metrics] Refactor CheckpointStatsTrackerTest


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/5a545dbf
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/5a545dbf
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/5a545dbf

Branch: refs/heads/master
Commit: 5a545dbf16272c36c0e8efbbc07b1aed3c0290b9
Parents: 0bf0fdc
Author: zentol <ch...@apache.org>
Authored: Wed Dec 6 14:59:18 2017 +0100
Committer: zentol <ch...@apache.org>
Committed: Tue Dec 12 19:09:17 2017 +0100

----------------------------------------------------------------------
 .../checkpoint/CheckpointStatsTrackerTest.java  | 128 ++++---------------
 1 file changed, 27 insertions(+), 101 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/5a545dbf/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
index e7a1d7b..0d19cd5 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
@@ -23,22 +23,17 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import org.apache.flink.metrics.CharacterFilter;
-import org.apache.flink.metrics.Counter;
 import org.apache.flink.metrics.Gauge;
-import org.apache.flink.metrics.Histogram;
-import org.apache.flink.metrics.Meter;
 import org.apache.flink.metrics.MetricGroup;
 import org.apache.flink.metrics.groups.UnregisteredMetricsGroup;
 import org.apache.flink.runtime.executiongraph.ExecutionJobVertex;
@@ -287,7 +282,17 @@ public class CheckpointStatsTrackerTest {
 	 */
 	@Test
 	public void testMetricsRegistration() throws Exception {
-		MetricGroup metricGroup = mock(MetricGroup.class);
+		final Collection<String> registeredGaugeNames = new ArrayList<>();
+
+		MetricGroup metricGroup = new UnregisteredMetricsGroup() {
+			@Override
+			public <T, G extends Gauge<T>> G gauge(String name, G gauge) {
+				if (gauge != null) {
+					registeredGaugeNames.add(name);
+				}
+				return gauge;
+			}
+		};
 
 		ExecutionJobVertex jobVertex = mock(ExecutionJobVertex.class);
 		when(jobVertex.getJobVertexId()).thenReturn(new JobVertexID());
@@ -299,18 +304,19 @@ public class CheckpointStatsTrackerTest {
 			mock(CheckpointCoordinatorConfiguration.class),
 			metricGroup);
 
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_CHECKPOINTS_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_IN_PROGRESS_CHECKPOINTS_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_COMPLETED_CHECKPOINTS_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_FAILED_CHECKPOINTS_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.LATEST_RESTORED_CHECKPOINT_TIMESTAMP_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_SIZE_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_DURATION_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_ALIGNMENT_BUFFERED_METRIC), any(Gauge.class));
-		verify(metricGroup, times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_EXTERNAL_PATH_METRIC), any(Gauge.class));
-
 		// Make sure this test is adjusted when further metrics are added
-		verify(metricGroup, times(9)).gauge(any(String.class), any(Gauge.class));
+		assertTrue(registeredGaugeNames.containsAll(Arrays.asList(
+			CheckpointStatsTracker.NUMBER_OF_CHECKPOINTS_METRIC,
+			CheckpointStatsTracker.NUMBER_OF_IN_PROGRESS_CHECKPOINTS_METRIC,
+			CheckpointStatsTracker.NUMBER_OF_COMPLETED_CHECKPOINTS_METRIC,
+			CheckpointStatsTracker.NUMBER_OF_FAILED_CHECKPOINTS_METRIC,
+			CheckpointStatsTracker.LATEST_RESTORED_CHECKPOINT_TIMESTAMP_METRIC,
+			CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_SIZE_METRIC,
+			CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_DURATION_METRIC,
+			CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_ALIGNMENT_BUFFERED_METRIC,
+			CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_EXTERNAL_PATH_METRIC
+		)));
+		assertEquals(9, registeredGaugeNames.size());
 	}
 
 	/**
@@ -322,92 +328,12 @@ public class CheckpointStatsTrackerTest {
 	public void testMetricsAreUpdated() throws Exception {
 		final Map<String, Gauge<?>> registeredGauges = new HashMap<>();
 
-		MetricGroup metricGroup = new MetricGroup() {
-			@Override
-			public Counter counter(int name) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public Counter counter(String name) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public <C extends Counter> C counter(int name, C counter) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public <C extends Counter> C counter(String name, C counter) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public <T, G extends Gauge<T>> G gauge(int name, G gauge) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
+		MetricGroup metricGroup = new UnregisteredMetricsGroup() {
 			@Override
 			public <T, G extends Gauge<T>> G gauge(String name, G gauge) {
 				registeredGauges.put(name, gauge);
 				return gauge;
 			}
-
-			@Override
-			public <H extends Histogram> H histogram(String name, H histogram) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public <H extends Histogram> H histogram(int name, H histogram) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public <M extends Meter> M meter(String name, M meter) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public <M extends Meter> M meter(int name, M meter) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public MetricGroup addGroup(int name) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public MetricGroup addGroup(String name) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public MetricGroup addGroup(String key, String value) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public String[] getScopeComponents() {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public Map<String, String> getAllVariables() {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public String getMetricIdentifier(String metricName) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
-
-			@Override
-			public String getMetricIdentifier(String metricName, CharacterFilter filter) {
-				throw new UnsupportedOperationException("Not expected in this test");
-			}
 		};
 
 		ExecutionJobVertex jobVertex = mock(ExecutionJobVertex.class);