org.apache.flink.runtime.checkpoint.PendingCheckpoint Java Examples
The following examples show how to use
org.apache.flink.runtime.checkpoint.PendingCheckpoint.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SchedulerTestingUtils.java From flink with Apache License 2.0 | 6 votes |
public static void acknowledgeCurrentCheckpoint(DefaultScheduler scheduler) { final CheckpointCoordinator checkpointCoordinator = getCheckpointCoordinator(scheduler); assertEquals("Coordinator has not ", 1, checkpointCoordinator.getNumberOfPendingCheckpoints()); final PendingCheckpoint pc = checkpointCoordinator.getPendingCheckpoints().values().iterator().next(); // because of races against the async thread in the coordinator, we need to wait here until the // coordinator state is acknowledged. This can be removed once the CheckpointCoordinator is // executes all actions in the Scheduler's main thread executor. while (pc.getNumberOfNonAcknowledgedOperatorCoordinators() > 0) { try { Thread.sleep(1); } catch (InterruptedException e) { Thread.currentThread().interrupt(); fail("interrupted"); } } getAllCurrentExecutionAttempts(scheduler).forEach( (attemptId) -> scheduler.acknowledgeCheckpoint(pc.getJobId(), attemptId, pc.getCheckpointId(), new CheckpointMetrics(), null)); }
Example #2
Source File: FailoverRegionTest.java From flink with Apache License 2.0 | 5 votes |
/** * Attach pending checkpoints of chk-42 and chk-43 to the execution graph. * If {@link #acknowledgeAllCheckpoints(CheckpointCoordinator, Iterator)} called then, * chk-42 would become the completed checkpoint. */ private void attachPendingCheckpoints(ExecutionGraph eg) throws IOException { final Map<Long, PendingCheckpoint> pendingCheckpoints = new HashMap<>(); final Map<ExecutionAttemptID, ExecutionVertex> verticesToConfirm = new HashMap<>(); eg.getAllExecutionVertices().forEach(e -> { Execution ee = e.getCurrentExecutionAttempt(); if (ee != null) { verticesToConfirm.put(ee.getAttemptId(), e); } }); CheckpointCoordinator checkpointCoordinator = eg.getCheckpointCoordinator(); assertNotNull(checkpointCoordinator); CheckpointStorageCoordinatorView checkpointStorage = checkpointCoordinator.getCheckpointStorage(); pendingCheckpoints.put(checkpointId, new PendingCheckpoint( eg.getJobID(), checkpointId, 0L, verticesToConfirm, CheckpointProperties.forCheckpoint(CheckpointRetentionPolicy.RETAIN_ON_FAILURE), checkpointStorage.initializeLocationForCheckpoint(checkpointId), eg.getFutureExecutor())); long newCheckpointId = checkpointId + 1; pendingCheckpoints.put(newCheckpointId, new PendingCheckpoint( eg.getJobID(), newCheckpointId, 0L, verticesToConfirm, CheckpointProperties.forCheckpoint(CheckpointRetentionPolicy.RETAIN_ON_FAILURE), checkpointStorage.initializeLocationForCheckpoint(newCheckpointId), eg.getFutureExecutor())); Whitebox.setInternalState(checkpointCoordinator, "pendingCheckpoints", pendingCheckpoints); }
Example #3
Source File: SchedulerTestingUtils.java From flink with Apache License 2.0 | 5 votes |
public static CompletedCheckpoint takeCheckpoint(DefaultScheduler scheduler) throws Exception { final CheckpointCoordinator checkpointCoordinator = getCheckpointCoordinator(scheduler); checkpointCoordinator.triggerCheckpoint(false); assertEquals("test setup inconsistent", 1, checkpointCoordinator.getNumberOfPendingCheckpoints()); final PendingCheckpoint checkpoint = checkpointCoordinator.getPendingCheckpoints().values().iterator().next(); final CompletableFuture<CompletedCheckpoint> future = checkpoint.getCompletionFuture(); acknowledgePendingCheckpoint(scheduler, checkpoint.getCheckpointId()); CompletedCheckpoint completed = future.getNow(null); assertNotNull("checkpoint not complete", completed); return completed; }