[ https://issues.apache.org/jira/browse/ZOOKEEPER-1573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13825014#comment-13825014 ]
Raul Gutierrez Segales commented on ZOOKEEPER-1573: --------------------------------------------------- Last nit (though feel free to ignore it since it refers to improving old code as well): {noformat} + + long start = System.currentTimeMillis(); + while (!connected) { + long end = System.currentTimeMillis(); + if (end - start > 5000) { + Assert.assertTrue("Could not connect with server in 5 seconds", + false); + } + try { + Thread.sleep(200); + } catch (Exception e) { + LOG.warn("Interrupted"); + } + } {noformat} this is copy/pasted for two other tests as well - can we move it to a method called waitConnected and call that instead? It'll make tests shorted and more readable I think. > Unable to load database due to missing parent node > -------------------------------------------------- > > Key: ZOOKEEPER-1573 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1573 > Project: ZooKeeper > Issue Type: Bug > Components: server > Affects Versions: 3.4.3, 3.5.0 > Reporter: Thawan Kooburat > Attachments: ZOOKEEPER-1573.patch, ZOOKEEPER-1573.patch, > ZOOKEEPER-1573.patch > > > While replaying txnlog on data tree, the server has a code to detect missing > parent node. This code block was last modified as part of ZOOKEEPER-1333. In > our production, we found a case where this check is return false positive. > The sequence of txns is as follows: > zxid 1: create /prefix/a > zxid 2: create /prefix/a/b > zxid 3: delete /prefix/a/b > zxid 4: delete /prefix/a > The server start capturing snapshot at zxid 1. However, by the time it > traversing the data tree down to /prefix, txn 4 is already applied and > /prefix have no children. > When the server restore from snapshot, it process txnlog starting from zxid > 2. This txn generate missing parent error and the server refuse to start up. > The same check allow me to discover bug in ZOOKEEPER-1551, but I don't know > if we have any option beside removing this check to solve this issue. -- This message was sent by Atlassian JIRA (v6.1#6144)