[ https://issues.apache.org/jira/browse/ZOOKEEPER-4945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Garvit Rajput updated ZOOKEEPER-4945: ------------------------------------- Labels: pull-request-available (was: ) > Support automatic renewal of ephemeral nodes via client heartbeats > ------------------------------------------------------------------ > > Key: ZOOKEEPER-4945 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4945 > Project: ZooKeeper > Issue Type: New Feature > Components: c client, server > Reporter: Garvit Rajput > Priority: Major > Labels: pull-request-available > > *Motivation* > Currently, ZooKeeper clients must maintain an active session to retain > ephemeral nodes. If a session timeout occurs due to a network glitch or GC > pause, these nodes are deleted even if the client recovers shortly after. > *Proposed Feature* > Introduce a configurable *{*}auto-renewal heartbeat mechanism{*}* where the > ZooKeeper client can *{*}extend the lifetime of ephemeral nodes{*}* for a > grace period after temporary session disconnections — essentially a > soft-reconnect buffer. > *This feature would:* > - Reduce unintended ephemeral node deletion due to transient network > failures. > - Improve stability for clients with flaky connections. > - Help cloud-native workloads where short-lived network interruptions are > common. > *Implementation Ideas* > - Introduce a `znode.ephemeral.gracePeriod` config on the server/client. > - Allow clients to reattach to their ephemeral nodes within this window. > - Maintain consistency and fencing semantics using a version hash or > ephemeral token. > *Benefits* > This change would improve ZooKeeper's resilience in distributed environments > without breaking the ephemeral node contract, as the node would still expire > if the client doesn't reconnect within the grace period. > *Impact* > - Fully backward-compatible > - Opt-in via configuration > - May require slight changes to session expiration logic > Let me know if this is a direction you'd consider. Happy to discuss design or > help contribute a patch. -- This message was sent by Atlassian Jira (v8.20.10#820010)