curcur commented on a change in pull request #12269: URL: https://github.com/apache/flink/pull/12269#discussion_r429018621
########## File path: flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinatorTest.java ########## @@ -262,6 +251,40 @@ public void failJobDueToTaskFailure(Throwable cause, ExecutionAttemptID failingT } } + @Test + public void testExpiredCheckpointExceedsTolerableFailureNumber() { + // create some mock Execution vertices that receive the checkpoint trigger messages + ExecutionVertex vertex1 = mockExecutionVertex(new ExecutionAttemptID()); + ExecutionVertex vertex2 = mockExecutionVertex(new ExecutionAttemptID()); + + final String errorMsg = "Exceeded checkpoint failure tolerance number!"; + CheckpointFailureManager checkpointFailureManager = getCheckpointFailureManager(errorMsg); + CheckpointCoordinator coord = getCheckpointCoordinator(new JobID(), vertex1, vertex2, checkpointFailureManager); + + try { + // trigger the checkpoint. this should succeed + final CompletableFuture<CompletedCheckpoint> checkPointFuture = coord.triggerCheckpoint(false); + manuallyTriggeredScheduledExecutor.triggerAll(); + assertFalse(checkPointFuture.isCompletedExceptionally()); + + coord.abortPendingCheckpoints(new CheckpointException(CHECKPOINT_EXPIRED)); + + fail("Test failed."); + } + catch (Exception e) { + //expected + assertTrue(e instanceof RuntimeException); + assertEquals(errorMsg, e.getMessage()); + } finally { + try { + coord.shutdown(JobStatus.FINISHED); + } catch (Exception e) { + e.printStackTrace(); + fail(e.getMessage()); Review comment: Ha, I think you mean to throw the exception directly from the test function. Yep, that should also work. It is really a bit verbose here. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org