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

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

                Author: ASF GitHub Bot
            Created on: 03/Nov/19 23:28
            Start Date: 03/Nov/19 23:28
    Worklog Time Spent: 10m 
      Work Description: Randgalt commented on pull request #334: [CURATOR-549] 
- Support ZooKeeper 3.5.6 Persistent Recursive Watchers
URL: https://github.com/apache/curator/pull/334
 
 
   Introduction
   
   Support persistent watchers in ZK 3.6+ while maintaining background 
compatability with previous versions of ZK. Added a new module to make sure we 
maintain compatibility with ZK 3.5.x.
   
   The master ZK dependency is changed to 3.6.0
   The code has checks for the ZK lib being used so that it can still run with 
older ZK libraries/ensembles. This is done in a similar manner to how ZK 3.4 
support is done
   A new module, curator-test-zk35 (analog to curator-test-zk34) does testing 
with a forced version of ZooKeeper 3.5.6 to ensure compatbility
   3.6.0 has many changes
   
   ZooKeeper 3.6.0 has some significant changes from previous versions and a 
significant portion of this PR is only bringing Curator up to date. Some of 
these changes are:
   
   The reconfig APIs have moved into a new class, ZooKeeperAdmin. This class 
existed in 3.5.x but wasn't required. Now it is.
   DefaultZookeeperFactory now checks Compatibility.hasZooKeeperAdmin() and 
creates a ZooKeeperAdmin if it's available
   A bunch of little things changed in the ZK server code which affected 
Curator's test classes. I moved it all into reflection based calls in 
Compatibility.java in the test module. We now have modules that test ZK 3.4, 
3.5 and 3.6 so we're safe with compatibility.
   ZooKeeper's MultiTransactionRecord has been removed it seems. That forced 
CuratorMultiTransactionRecord to be re-written. It's not a public class so 
hopefully it won't affect anyone.
   Persistent Watchers
   
   This first PR only adds Curator Framework DSL calls to ZooKeeper's 
addWatch() method. Subsequent PRs will add recipes. Both the older Framework 
and the async Framework now have methods to add persistent watchers.
   
   New module
   
   As mentioned above, there is a new module, curator-test-zk35. It forces 
ZooKeeper 3.5.6 and performs selected tests from the other modules to ensure 
compatibility. Tests annotated with TestNG groups zk35 and zk35Compatibility 
are tested. Group zk36 is excluded. Note: these tests will only run from Maven. 
I don't think IntelliJ/Eclipse support the Maven syntax I used.
   
   2 More PRs coming
   
   I have 2 more PRs that will be separate from this to avoid too much review 
pain:
   
   TBD
 
----------------------------------------------------------------
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:
[email protected]


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

    Worklog Id:     (was: 337872)
    Time Spent: 50m  (was: 40m)

> 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: 4.3.0
>
>          Time Spent: 50m
>  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