[
https://issues.apache.org/jira/browse/FLINK-6284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16007843#comment-16007843
]
ASF GitHub Bot commented on FLINK-6284:
---------------------------------------
Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/3881#discussion_r116185935
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/zookeeper/ZooKeeperStateHandleStore.java
---
@@ -346,11 +346,7 @@ public int exists(String pathInZooKeeper) throws
Exception {
} else {
// Initial cVersion (number of changes to the
children of this node)
int initialCVersion = stat.getCversion();
-
- List<String> children =
ZKPaths.getSortedChildren(
-
client.getZookeeperClient().getZooKeeper(),
-
ZKPaths.fixForNamespace(client.getNamespace(), "/"));
-
+ List<String> children =
client.getZookeeperClient().getZooKeeper().getChildren(ZKPaths.fixForNamespace(client.getNamespace(),
"/"), false);
--- End diff --
I think this alone does not work: The JavaDocs of `ZooKeeper#getChildren`
say
> The list of children returned is not sorted and no guarantee is provided
as to its natural or lexical order.
Thus, I assume that it is not safe to simply return the list of children
without any further processing.
> Incorrect sorting of completed checkpoints in
> ZooKeeperCompletedCheckpointStore
> -------------------------------------------------------------------------------
>
> Key: FLINK-6284
> URL: https://issues.apache.org/jira/browse/FLINK-6284
> Project: Flink
> Issue Type: Bug
> Components: State Backends, Checkpointing
> Reporter: Xiaogang Shi
> Priority: Blocker
> Fix For: 1.3.0
>
>
> 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()}}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)