[ 
https://issues.apache.org/jira/browse/CURATOR-549?focusedWorklogId=406621&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-406621
 ]

ASF GitHub Bot logged work on CURATOR-549:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 19/Mar/20 22:10
            Start Date: 19/Mar/20 22:10
    Worklog Time Spent: 10m 
      Work Description: cammckenzie commented on pull request #334: 
[CURATOR-549] Support ZooKeeper 3.6.0 Persistent Recursive Watchers
URL: https://github.com/apache/curator/pull/334#discussion_r395346038
 
 

 ##########
 File path: 
curator-framework/src/test/java/org/apache/curator/framework/imps/TestWatchesBuilder.java
 ##########
 @@ -610,6 +613,122 @@ public void pathAddedForGuaranteedOperation(
         }
     }
 
+    @Test(groups = CuratorTestBase.zk36Group)
+    public void testPersistentWatch() throws Exception
+    {
+        try ( CuratorFramework client = 
CuratorFrameworkFactory.newClient(server.getConnectString(), new 
RetryOneTime(1)) )
+        {
+            client.start();
+            client.blockUntilConnected();
+
+            CountDownLatch latch = new CountDownLatch(3);
+            Watcher watcher = event -> latch.countDown();
+            
client.watchers().add().withMode(AddWatchMode.PERSISTENT).usingWatcher(watcher).forPath("/test/foo");
+
+            client.create().creatingParentsIfNeeded().forPath("/test/foo");
+            client.setData().forPath("/test/foo", "hey".getBytes());
+            client.delete().forPath("/test/foo");
+
+            Assert.assertTrue(timing.awaitLatch(latch));
+        }
+    }
+
+    @Test(groups = CuratorTestBase.zk36Group)
+    public void testPersistentWatchInBackground() throws Exception
+    {
+        try ( CuratorFramework client = 
CuratorFrameworkFactory.newClient(server.getConnectString(), new 
RetryOneTime(1)) )
+        {
+            client.start();
+            client.blockUntilConnected();
+
+            CountDownLatch backgroundLatch = new CountDownLatch(1);
 
 Review comment:
   What's the purpose of the backgroundLatch? It doesn't seem to actually get 
used (beyond being counted down).
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 406621)
    Time Spent: 9h  (was: 8h 50m)

> ZooKeeper 3.6 will add support for Persistent Recursive Watchers - Add 
> Curator support
> --------------------------------------------------------------------------------------
>
>                 Key: CURATOR-549
>                 URL: https://issues.apache.org/jira/browse/CURATOR-549
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Client, Documentation, Framework, Recipes, Tests
>    Affects Versions: 4.2.0
>            Reporter: Jordan Zimmerman
>            Assignee: Jordan Zimmerman
>            Priority: Major
>             Fix For: 5.0.0
>
>          Time Spent: 9h
>  Remaining Estimate: 0h
>
> ZOOKEEPER-1416 will add support for Persistent Recursive Watchers. This 
> feature allows Curator to re-think/re-write the various cache recipes so that 
> they're simpler, use less resources and more stable.
> * Change Curator to depend on ZooKeeper 3.6.x
> * Add a new module so that backward compatibility with 3.5 is ensured
> * Add new methods corresponding to {{ZooKeeper.addWatch()}}
> * Add a new recipe that enables a fully managed Persistent watch
> * Create new Cache recipes that use the new Persistent watch recipe
> * Replace internal usages of TreeCache/PathChildrenCache/NodeCache with new 
> cache recipe
> * Deprecate TreeCache/PathChildrenCache/NodeCache
> * Updated docs/tests/etc



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to