[
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)