Benjamin Reed commented on ZOOKEEPER-104:

I think we should convert to a runtime exception. (It really seems like 
InterruptedException should be runtime in the first place...) It looks like 
this is how other APIs that implement persistent sets work.

There is another possiblity: keep the whole set in memory and use watches as 
cache invalidations. Then you could have commit() and refresh() operations that 
would throw the exceptions. Depending on the size of the sets it does seem wise 
to keep it all cached in the client so that read operations can be executed 
quickly. Even the commit() allows you to batch up changes and do them faster as 

> KeptSet: a distributed data stucture backed by the children of a ZooKeeper 
> node
> -------------------------------------------------------------------------------
>                 Key: ZOOKEEPER-104
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-104
>             Project: Zookeeper
>          Issue Type: New Feature
>          Components: java client
>            Reporter: Anthony Urso
>            Assignee: Anthony Urso
>            Priority: Minor
>         Attachments: ZOOKEEPER-104.patch, ZOOKEEPER-104.patch, 
> ZOOKEEPER-104.patch
> Here is an implementation of a ZooKeeper backed Java Set. It should be 
> generally useful.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to