[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2018-06-24 Thread eolivelli
Github user eolivelli commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
News on this great feature?


---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-10-03 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
re: ACL and recursive watches...

ZooKeeper.exists() does not check ACLs so I assert that the current 
behavior of this PR doesn't violate the current behavior. i.e. in ZooKeeper you 
can have knowledge of the existence of every ZNode in the database irrespective 
of ACL. I can update the docs to make this clear however if people think that 
that's needed.


---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-10-03 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
One of our devs, @alexbrasetvik, asked about ACLs and recursive watches. It 
turns out this PR is not handling that and needs to. I'll submit support for 
this soon.


---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-10-02 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
This PR and #332 are ready. How can we get this merged? @skamille ?


---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-09-25 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
As promised - here's the project with the benchmarking stuff:

https://github.com/Randgalt/zkbench


---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-09-25 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
> does the new map in the watch structure break rolling upgrades

It would depend how you did it. If you upgraded all the ZK servers before 
adding any persistent watches you'd be OK.


---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-18 Thread skamille
Github user skamille commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
> Per 3. This PR does not guarantee that you will see all events. I'll 
double check the doc to make sure that that's clear. These watches behave 
exactly as other watches in ZK other than they don't remove themselves when 
triggered.

Well, I would personally expect that a watch that doesn't remove itself 
when triggered is going to never drop an event so long as the session is alive. 
My understanding of the raft-based stores is that they can give you the 
historical change log that guarantees it won't lose events. I haven't done the 
mental exercise of determining if we could do that in ZK (probably? maybe?) but 
it is certainly a difference that partially arises from the underlying design 
differences between the systems, and we should be more specific about what will 
really happen with this feature.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-18 Thread skamille
Github user skamille commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
I want to make it clear that I'm not arguing against the feature, I just 
want us to make sure that we're implementing it in a way that makes sense 
absent the TreeSet use case, and that we at least document the performance and 
operational considerations of the feature. This seems important to helping 
people use it appropriately.

When you had to do the overhead of implementing this in Curator, what did 
the cost in terms of memory usage/performance to track this across large 
numbers of nodes?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-17 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
Another goal is feature parity with other consensus tools such as 
etcd/consul. I added TTL nodes with this (and other) goals earlier in the year 
(or was it last year?). Watches in consul are persistent and optionally 
recursive.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-17 Thread skamille
Github user skamille commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
We have to remember that people who don't use TreeCache will still use this 
feature. Not to say that we shouldn't keep it in mind as an important user, but 
presumably people who don't actually do anything with curator will decide to 
use this feature. Does the design make sense absent that consideration? 
Specifically, if you weren't thinking of this as a feature for TreeCache, would 
we implement it to automatically watch children changes as well, or would it be 
broken up into two modes: persistent no children, persistent children.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-16 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
Per 1. I posted some performance numbers in the issue. There's a definite 
hit but it's worth it in my view. We should discuss this.

Per 2. What this PR is aimed at is users of Curator's TreeCache - one of 
the most widely used "recipes" in the library. Many users want to know 
everything that happens to a tree of ZNodes. With the current APIs this is 
extraordinarily difficult (thus the complexity of the TreeCache code) and 
inefficient. You must set 2 watches for every single node in the tree (data and 
children) and then work very hard to keep those watches set as they trigger, 
through network issues, etc.

Per 3. This PR does not guarantee that you will see all events. I'll double 
check the doc to make sure that that's clear. These watches behave exactly as 
other watches in ZK other than they don't remove themselves when triggered.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-16 Thread skamille
Github user skamille commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
Questions I have about this from a high level design perspective:
1. As I asked on the mailing list, have we done load/performance testing or 
addressed what that might look like in the design? (Jordan to get back to us on 
that)
2. I'm not sure I understand why persistent watches are both persistent and 
always set for all children of a node. Is it not useful to imagine that I would 
want a persistent watch on some node but not care about its children? Some 
clarification on that choice would be helpful.
3. What does it really mean to guarantee sending of all watch events? What 
are the implications for a disconnected client upon reconnect? How much do we 
expect ZK to potentially be storing in order to be able to fulfill this 
guarantee? Will this potentially cause unbounded memory overhead or lead to 
full GC? Can we realistically bound this guarantee in order to provide the 
other operational guarantees people expect from ZK such as generally 
predictable memory usage based on size of data tree?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-09 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@afine issues addressed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-03 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@hanm done


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-08-02 Thread hanm
Github user hanm commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
This patch requires a rebase.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-03-23 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@stuhood - FYI - here's a new version of Curator's cache recipes 
consolidated into one-recipe-to-rule-them-all that relies on this new 
Persistent Recursive Watch implementation. 
https://github.com/apache/curator/pull/181


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-03-22 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
Thanks @eribeiro - at minimum it would be good to get feedback. This 
feature will really help the community.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2017-03-22 Thread eribeiro
Github user eribeiro commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
Hey @fpj, @phunt, @breed, @skamille (or any PMC/commiter), it would be 
really cool to have this patch by @Randgalt merged, wouldn't it? If you have 
any cycles would you mind to review this one? 

Thanks!!!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2016-12-27 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@stuhood I'll end up writing one for Apache Curator. The short answer is 
that large ZK users end up with 100s of thousands or millions of watchers when 
a few dozen would suffice. The use case is watching a tree of znodes. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2016-12-27 Thread stuhood
Github user stuhood commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
Driveby comment: would be great to see a "recipe" or some real world 
example of correctly using this API to watch a tree. Is the goal that 
consumption of only the watch events would be sufficient for a client to stay 
synchronized for some tree?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2016-12-26 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
>  it is required to add a C client change in this patch too?

@eribeiro C client work is separate. I usually add a new Jira for them. 
If/when this patch is accepted I'll do that.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2016-12-26 Thread eribeiro
Github user eribeiro commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@Randgalt it is required to add a C client change in this patch too?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2016-12-26 Thread eribeiro
Github user eribeiro commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@Randgalt yup, very cool the ``asIterable()`` solution. +1. :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] zookeeper issue #136: [ZOOKEEPER-1416] Persistent Recursive Watch

2016-12-26 Thread Randgalt
Github user Randgalt commented on the issue:

https://github.com/apache/zookeeper/pull/136
  
@eribeiro Have a look at the change to `PathIterator` I think this solves 
your desire while not breaking implicit contracts.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---