use of org.apache.flink.runtime.checkpoint.AbstractCheckpointStats in project flink by apache.
the class CheckpointStatsDetailsHandler method handleRequest.
@Override
public String handleRequest(AccessExecutionGraph graph, Map<String, String> params) throws Exception {
long checkpointId = parseCheckpointId(params);
if (checkpointId == -1) {
return "{}";
}
CheckpointStatsSnapshot snapshot = graph.getCheckpointStatsSnapshot();
if (snapshot == null) {
return "{}";
}
AbstractCheckpointStats checkpoint = snapshot.getHistory().getCheckpointById(checkpointId);
if (checkpoint != null) {
cache.tryAdd(checkpoint);
} else {
checkpoint = cache.tryGet(checkpointId);
if (checkpoint == null) {
return "{}";
}
}
return createCheckpointDetailsJson(checkpoint);
}
use of org.apache.flink.runtime.checkpoint.AbstractCheckpointStats in project flink by apache.
the class CheckpointStatsDetailsSubtasksHandler method handleRequest.
@Override
public String handleRequest(AccessExecutionGraph graph, Map<String, String> params) throws Exception {
long checkpointId = CheckpointStatsDetailsHandler.parseCheckpointId(params);
if (checkpointId == -1) {
return "{}";
}
JobVertexID vertexId = AbstractJobVertexRequestHandler.parseJobVertexId(params);
if (vertexId == null) {
return "{}";
}
CheckpointStatsSnapshot snapshot = graph.getCheckpointStatsSnapshot();
if (snapshot == null) {
return "{}";
}
AbstractCheckpointStats checkpoint = snapshot.getHistory().getCheckpointById(checkpointId);
if (checkpoint != null) {
cache.tryAdd(checkpoint);
} else {
checkpoint = cache.tryGet(checkpointId);
if (checkpoint == null) {
return "{}";
}
}
TaskStateStats taskStats = checkpoint.getTaskStateStats(vertexId);
if (taskStats == null) {
return "{}";
}
return createSubtaskCheckpointDetailsJson(checkpoint, taskStats);
}
use of org.apache.flink.runtime.checkpoint.AbstractCheckpointStats in project flink by apache.
the class CheckpointStatsHandlerTest method createTestCheckpointStats.
private static TestCheckpointStats createTestCheckpointStats() {
// Counts
CheckpointStatsCounts counts = mock(CheckpointStatsCounts.class);
when(counts.getNumberOfRestoredCheckpoints()).thenReturn(123123123L);
when(counts.getTotalNumberOfCheckpoints()).thenReturn(12981231203L);
when(counts.getNumberOfInProgressCheckpoints()).thenReturn(191919);
when(counts.getNumberOfCompletedCheckpoints()).thenReturn(882828200L);
when(counts.getNumberOfFailedCheckpoints()).thenReturn(99171510L);
// Summary
CompletedCheckpointStatsSummary summary = mock(CompletedCheckpointStatsSummary.class);
MinMaxAvgStats stateSizeSummary = mock(MinMaxAvgStats.class);
when(stateSizeSummary.getMinimum()).thenReturn(81238123L);
when(stateSizeSummary.getMaximum()).thenReturn(19919191999L);
when(stateSizeSummary.getAverage()).thenReturn(1133L);
MinMaxAvgStats durationSummary = mock(MinMaxAvgStats.class);
when(durationSummary.getMinimum()).thenReturn(1182L);
when(durationSummary.getMaximum()).thenReturn(88654L);
when(durationSummary.getAverage()).thenReturn(171L);
MinMaxAvgStats alignmentBufferedSummary = mock(MinMaxAvgStats.class);
when(alignmentBufferedSummary.getMinimum()).thenReturn(81818181899L);
when(alignmentBufferedSummary.getMaximum()).thenReturn(89999911118654L);
when(alignmentBufferedSummary.getAverage()).thenReturn(11203131L);
when(summary.getStateSizeStats()).thenReturn(stateSizeSummary);
when(summary.getEndToEndDurationStats()).thenReturn(durationSummary);
when(summary.getAlignmentBufferedStats()).thenReturn(alignmentBufferedSummary);
// Latest
CompletedCheckpointStats latestCompleted = mock(CompletedCheckpointStats.class);
when(latestCompleted.getCheckpointId()).thenReturn(1992139L);
when(latestCompleted.getTriggerTimestamp()).thenReturn(1919191900L);
when(latestCompleted.getLatestAckTimestamp()).thenReturn(1977791901L);
when(latestCompleted.getStateSize()).thenReturn(111939272822L);
when(latestCompleted.getEndToEndDuration()).thenReturn(121191L);
when(latestCompleted.getAlignmentBuffered()).thenReturn(1L);
when(latestCompleted.getExternalPath()).thenReturn("latest-completed-external-path");
CompletedCheckpointStats latestSavepoint = mock(CompletedCheckpointStats.class);
when(latestSavepoint.getCheckpointId()).thenReturn(1992140L);
when(latestSavepoint.getTriggerTimestamp()).thenReturn(1919191900L);
when(latestSavepoint.getLatestAckTimestamp()).thenReturn(1977791901L);
when(latestSavepoint.getStateSize()).thenReturn(111939272822L);
when(latestSavepoint.getEndToEndDuration()).thenReturn(121191L);
when(latestCompleted.getAlignmentBuffered()).thenReturn(182813L);
when(latestSavepoint.getExternalPath()).thenReturn("savepoint-external-path");
FailedCheckpointStats latestFailed = mock(FailedCheckpointStats.class);
when(latestFailed.getCheckpointId()).thenReturn(1112L);
when(latestFailed.getTriggerTimestamp()).thenReturn(12828L);
when(latestFailed.getLatestAckTimestamp()).thenReturn(1901L);
when(latestFailed.getFailureTimestamp()).thenReturn(11999976L);
when(latestFailed.getStateSize()).thenReturn(111L);
when(latestFailed.getEndToEndDuration()).thenReturn(12L);
when(latestFailed.getAlignmentBuffered()).thenReturn(2L);
when(latestFailed.getFailureMessage()).thenReturn("expected cause");
RestoredCheckpointStats latestRestored = mock(RestoredCheckpointStats.class);
when(latestRestored.getCheckpointId()).thenReturn(1199L);
when(latestRestored.getRestoreTimestamp()).thenReturn(434242L);
when(latestRestored.getProperties()).thenReturn(CheckpointProperties.forStandardSavepoint());
when(latestRestored.getExternalPath()).thenReturn("restored savepoint path");
// History
CheckpointStatsHistory history = mock(CheckpointStatsHistory.class);
List<AbstractCheckpointStats> checkpoints = new ArrayList<>();
PendingCheckpointStats inProgress = mock(PendingCheckpointStats.class);
when(inProgress.getCheckpointId()).thenReturn(1992141L);
when(inProgress.getStatus()).thenReturn(CheckpointStatsStatus.IN_PROGRESS);
when(inProgress.getProperties()).thenReturn(CheckpointProperties.forStandardCheckpoint());
when(inProgress.getTriggerTimestamp()).thenReturn(1919191900L);
when(inProgress.getLatestAckTimestamp()).thenReturn(1977791901L);
when(inProgress.getStateSize()).thenReturn(111939272822L);
when(inProgress.getEndToEndDuration()).thenReturn(121191L);
when(inProgress.getAlignmentBuffered()).thenReturn(1L);
when(inProgress.getNumberOfSubtasks()).thenReturn(501);
when(inProgress.getNumberOfAcknowledgedSubtasks()).thenReturn(101);
CompletedCheckpointStats completedSavepoint = mock(CompletedCheckpointStats.class);
when(completedSavepoint.getCheckpointId()).thenReturn(1322139L);
when(completedSavepoint.getStatus()).thenReturn(CheckpointStatsStatus.COMPLETED);
when(completedSavepoint.getProperties()).thenReturn(CheckpointProperties.forStandardSavepoint());
when(completedSavepoint.getTriggerTimestamp()).thenReturn(191900L);
when(completedSavepoint.getLatestAckTimestamp()).thenReturn(197791901L);
when(completedSavepoint.getStateSize()).thenReturn(1119822L);
when(completedSavepoint.getEndToEndDuration()).thenReturn(12191L);
when(completedSavepoint.getAlignmentBuffered()).thenReturn(111L);
when(completedSavepoint.getNumberOfSubtasks()).thenReturn(33501);
when(completedSavepoint.getNumberOfAcknowledgedSubtasks()).thenReturn(211);
when(completedSavepoint.isDiscarded()).thenReturn(true);
when(completedSavepoint.getExternalPath()).thenReturn("completed-external-path");
FailedCheckpointStats failed = mock(FailedCheckpointStats.class);
when(failed.getCheckpointId()).thenReturn(110719L);
when(failed.getStatus()).thenReturn(CheckpointStatsStatus.FAILED);
when(failed.getProperties()).thenReturn(CheckpointProperties.forStandardCheckpoint());
when(failed.getTriggerTimestamp()).thenReturn(191900L);
when(failed.getLatestAckTimestamp()).thenReturn(197791901L);
when(failed.getStateSize()).thenReturn(1119822L);
when(failed.getEndToEndDuration()).thenReturn(12191L);
when(failed.getAlignmentBuffered()).thenReturn(111L);
when(failed.getNumberOfSubtasks()).thenReturn(33501);
when(failed.getNumberOfAcknowledgedSubtasks()).thenReturn(1);
when(failed.getFailureTimestamp()).thenReturn(119230L);
when(failed.getFailureMessage()).thenReturn("failure message");
checkpoints.add(inProgress);
checkpoints.add(completedSavepoint);
checkpoints.add(failed);
when(history.getCheckpoints()).thenReturn(checkpoints);
when(history.getLatestCompletedCheckpoint()).thenReturn(latestCompleted);
when(history.getLatestSavepoint()).thenReturn(latestSavepoint);
when(history.getLatestFailedCheckpoint()).thenReturn(latestFailed);
CheckpointStatsSnapshot snapshot = mock(CheckpointStatsSnapshot.class);
when(snapshot.getCounts()).thenReturn(counts);
when(snapshot.getSummaryStats()).thenReturn(summary);
when(snapshot.getHistory()).thenReturn(history);
when(snapshot.getLatestRestoredCheckpoint()).thenReturn(latestRestored);
AccessExecutionGraph graph = mock(AccessExecutionGraph.class);
when(graph.getCheckpointStatsSnapshot()).thenReturn(snapshot);
return new TestCheckpointStats(graph, counts, stateSizeSummary, durationSummary, alignmentBufferedSummary, summary, latestCompleted, latestSavepoint, latestFailed, latestRestored, inProgress, completedSavepoint, failed, history, snapshot);
}
use of org.apache.flink.runtime.checkpoint.AbstractCheckpointStats in project flink by apache.
the class CheckpointStatsCacheTest method testCacheAddAndGet.
@Test
public void testCacheAddAndGet() throws Exception {
AbstractCheckpointStats chk0 = createCheckpoint(0, CheckpointStatsStatus.COMPLETED);
AbstractCheckpointStats chk1 = createCheckpoint(1, CheckpointStatsStatus.COMPLETED);
AbstractCheckpointStats chk2 = createCheckpoint(2, CheckpointStatsStatus.IN_PROGRESS);
CheckpointStatsCache cache = new CheckpointStatsCache(1);
cache.tryAdd(chk0);
assertEquals(chk0, cache.tryGet(0));
cache.tryAdd(chk1);
assertNull(cache.tryGet(0));
assertEquals(chk1, cache.tryGet(1));
cache.tryAdd(chk2);
assertNull(cache.tryGet(2));
assertNull(cache.tryGet(0));
assertEquals(chk1, cache.tryGet(1));
}
use of org.apache.flink.runtime.checkpoint.AbstractCheckpointStats in project flink by apache.
the class CheckpointStatsCacheTest method testZeroSizeCache.
@Test
public void testZeroSizeCache() throws Exception {
AbstractCheckpointStats checkpoint = createCheckpoint(0, CheckpointStatsStatus.COMPLETED);
CheckpointStatsCache cache = new CheckpointStatsCache(0);
cache.tryAdd(checkpoint);
assertNull(cache.tryGet(0L));
}
Aggregations