manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <>
Subject [jira] [Commented] (CONNECTORS-1031) Zookeeper hangs eventually with specified parameters
Date Tue, 16 Sep 2014 19:01:36 GMT


Karl Wright commented on CONNECTORS-1031:

The obtainwritelock() method in ZooKeeperConnection does the following:

        // Assert that we want a write lock
        lockNode = createSequentialChild(lockPath,WRITE_PREFIX);
          String lockSequenceNumber = lockNode.substring(lockPath.length() + 1 + WRITE_PREFIX.length());
          // See if we got it
          List<String> children = zookeeper.getChildren(lockPath,false);

... where createSequentialChild() can fail with a KeeperException.ConnectionLossException.
 According to this documentation: , this means
that the operation either succeeded or it didn't.  Unfortunately, the proper cleanup is: 


... which requires the lockNode string in order to work!  Not sure how to address this.  The
only possible saving grace is that the lockNode would be ephemeral if it is actually created.
 Not clear whether a reconnection flushes all client-associated ephemeral nodes, or not. 
If it does, then our attempt at cleanup is incorrect, and we should just fall through and

> Zookeeper hangs eventually with specified parameters
> ----------------------------------------------------
>                 Key: CONNECTORS-1031
>                 URL:
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework core
>    Affects Versions: ManifoldCF 1.7
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 2.0
> The zookeeper parameters we deliver are missing apparently important limits on growth:
> autopurge.snapRetainCount=3 : default value
> autopurge.purgeInterval=1: default value

This message was sent by Atlassian JIRA

View raw message