yanghua commented on a change in pull request #6567: [FLINK-10074] Allowable
number of checkpoint failures
URL: https://github.com/apache/flink/pull/6567#discussion_r213202843
##########
File path:
flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/CheckpointExceptionHandlerTest.java
##########
@@ -49,6 +49,59 @@ public void testRethrowingHandler() {
Assert.assertNull(environment.getLastDeclinedCheckpointCause());
}
+ @Test
+ public void testRethrowingHandlerWithTolerableNumberTriggered() {
+ DeclineDummyEnvironment environment = new
DeclineDummyEnvironment();
+
environment.getExecutionConfig().setTaskTolerableCheckpointFailuresNumber(3);
+ CheckpointExceptionHandlerFactory
checkpointExceptionHandlerFactory = new CheckpointExceptionHandlerFactory();
+ CheckpointExceptionHandler exceptionHandler =
+
checkpointExceptionHandlerFactory.createCheckpointExceptionHandler(true,
environment);
+
+ CheckpointMetaData failedCheckpointMetaData = new
CheckpointMetaData(42L, 4711L);
+ Exception testException = new Exception("test");
+ try {
+
exceptionHandler.tryHandleCheckpointException(failedCheckpointMetaData,
testException);
+ failedCheckpointMetaData = new CheckpointMetaData(43L,
4711L);
+
exceptionHandler.tryHandleCheckpointException(failedCheckpointMetaData,
testException);
+ failedCheckpointMetaData = new CheckpointMetaData(44L,
4711L);
+
exceptionHandler.tryHandleCheckpointException(failedCheckpointMetaData,
testException);
+ failedCheckpointMetaData = new CheckpointMetaData(45L,
4711L);
+
exceptionHandler.tryHandleCheckpointException(failedCheckpointMetaData,
testException);
Review comment:
here, This line will throw an exception, then it will enter the catch block
and verify that the exception is what we expected. If no exception is thrown to
this line, then Assert.fail() will be fired, indicating that the actual
exception is not thrown and the test will fail. Of course, as you said, this
verification does not prove that the exception we need is thrown in this line.
Maybe I can try and check each checkpoint independently.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services