Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
Description
Now all completed checkpoints are sorted in their paths when they are recovered in ZooKeeperCompletedCheckpointStore . In the cases where the latest checkpoint's id is not the largest in lexical order (e.g., "100" is smaller than "99" in lexical order), Flink will not recover from the latest completed checkpoint.
The problem can be easily observed by setting the checkpoint ids in ZooKeeperCompletedCheckpointStoreITCase#testRecover() to be 99, 100 and 101.
To fix the problem, we should explicitly sort found checkpoints in their checkpoint ids, without the usage of ZooKeeperStateHandleStore#getAllSortedByName()