Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-834

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

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    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

      Attachments

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

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            rakeshr Rakesh Radhakrishnan Assign to me
            savu.andrei Andrei Savu
            Votes:
            3 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment