curcur commented on a change in pull request #12269:
URL: https://github.com/apache/flink/pull/12269#discussion_r430128364



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

Review comment:
       > > to make sure the exception is from coord.abortPendingCheckpoints, 
not from other places like triggering
   > 
   > Exception from other places should fail other tests.
   > Also, you could specify explicitly which exception is expected from this 
test, so any other exception will fail it.
   
   yeah, that's right. I will remove it.

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

Review comment:
       Ha, then I will mark this as resolved.




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


Reply via email to