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);