[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15444326#comment-15444326
 ] 

Benjamin Reed commented on ZOOKEEPER-2169:
------------------------------------------

i observed that all the container check tests happen with the server running 
the whole time. there are no recovery tests. sometimes weird interactions 
happen there.

the more i think about it the more i realize since this is the first 
functionality that uses a notion of a global clock and the first that treats 
mtime as something more than an informational hint, there are more conditions 
to test: 1) what happens if the new server has a clock that is far behind or 
ahead? it's clear that if the new server has a clock that is ahead (or the old 
server had a clock that was behind) we may violate the TTL, but there may be 
others. 2) a similar thing might happen if the time is adjusted on the machine 
the server is running on. i imagine there are others to test, this is just off 
the top of my head, but since this is a new feature we can learn as people use 
it.

i'm fine letting it go in as is.

> Enable creation of nodes with TTLs
> ----------------------------------
>
>                 Key: ZOOKEEPER-2169
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2169
>             Project: ZooKeeper
>          Issue Type: New Feature
>          Components: c client, java client, jute, server
>    Affects Versions: 3.6.0
>            Reporter: Camille Fournier
>            Assignee: Jordan Zimmerman
>             Fix For: 3.6.0
>
>         Attachments: ZOOKEEPER-2169-2.patch, ZOOKEEPER-2169-3.patch, 
> ZOOKEEPER-2169-4.patch, ZOOKEEPER-2169-5.patch, ZOOKEEPER-2169.patch
>
>
> As a user, I would like to be able to create a node that is NOT tied to a 
> session but that WILL expire automatically if action is not taken by some 
> client within a time window.
> I propose this to enable clients interacting with ZK via http or other "thin 
> clients" to create ephemeral-like nodes.
> Some ideas for the design, up for discussion:
> The node should support all normal ZK node operations including ACLs, 
> sequential key generation, etc, however, it should not support the ephemeral 
> flag. The node will be created with a TTL that is updated via a refresh 
> operation. 
> The ZK quorum will watch this node similarly to the way that it watches for 
> session liveness; if the node is not refreshed within the TTL, it will expire.
> QUESTIONS:
> 1) Should we let the refresh operation set the TTL to a different base value?
> 2) If so, should the setting of the TTL to a new base value cause a watch to 
> fire?
> 3) Do we want to allow these nodes to have children or prevent this similar 
> to ephemeral nodes?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to