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