ZooKeeper
  1. ZooKeeper
  2. ZOOKEEPER-834

Allow ephemeral znodes to have children created only by the owner session.

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.5.0
    • Component/s: c client, java client, server
    • Labels:
      None

      Description

      Ephemeral znodes are automatically removed when the client session is closed or expires and this behavior makes them very useful when you want to publish status information from active / connected clients.

      But there is a catch. Right now ephemerals can't have children znodes and because of that clients need to serialize status information as byte strings. This serialization renders that information almost invisible to generic zookeeper clients and hard / inefficient to update.

      Most of the time the status information can be expressed as a bunch of (key, value) pairs and we could easily store that using child znodes. Any ZooKeeper client can read that info without the need to reverse the serialization process and we can also easily update it.

      I suggest that the server should allow the ephemeral znodes to have children znodes. Each child should also be an ephemeral znode owned by the same session - parent ephemeralOwner session.

      Mail Archive:
      http://www.mail-archive.com/zookeeper-dev@hadoop.apache.org/msg09819.html

      Another discussion about the same topic:
      http://www.mail-archive.com/zookeeper-dev@hadoop.apache.org/msg08165.html

      1. ZOOKEEPER-834.patch
        16 kB
        Laxman
      2. ZOOKEEPER-834.1.patch
        16 kB
        Laxman
      3. ZOOKEEPER-834.2.patch
        22 kB
        Laxman
      4. ZOOKEEPER-834.patch
        35 kB
        Rakesh R

        Activity

        Andrei Savu created issue -
        Andrei Savu made changes -
        Field Original Value New Value
        Assignee Andrei Savu [ savu.andrei ]
        Andrei Savu made changes -
        Assignee Andrei Savu [ savu.andrei ]
        Mahadev konar made changes -
        Fix Version/s 3.5.0 [ 12316644 ]
        Fix Version/s 3.4.0 [ 12314469 ]
        Laxman made changes -
        Attachment ZOOKEEPER-834.patch [ 12495071 ]
        Laxman made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Assignee Laxman [ lakshman ]
        Fix Version/s 3.5.0 [ 12316644 ]
        Patrick Hunt made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Fix Version/s 3.5.0 [ 12316644 ]
        Laxman made changes -
        Attachment ZOOKEEPER-834.patch [ 12495204 ]
        Laxman made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Laxman made changes -
        Attachment ZOOKEEPER-834.patch [ 12495204 ]
        Laxman made changes -
        Attachment ZOOKEEPER-834.1.patch [ 12495221 ]
        Laxman made changes -
        Attachment ZOOKEEPER-834.2.patch [ 12495342 ]
        Laxman made changes -
        Assignee Laxman [ lakshman ]
        Patrick Hunt made changes -
        Assignee Laxman [ lakshman ]
        Michi Mutsuzaki made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Rakesh R made changes -
        Attachment ZOOKEEPER-834.patch [ 12638296 ]
        Rakesh R made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Assignee Laxman [ lakshman ] Rakesh R [ rakeshr ]
        Michi Mutsuzaki made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]

          People

          • Assignee:
            Rakesh R
            Reporter:
            Andrei Savu
          • Votes:
            2 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

            • Created:
              Updated:

              Development