Details

    • Type: Sub-task Sub-task
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Implement read-only mode functionality (in accordance with http://wiki.apache.org/hadoop/ZooKeeper/GSoCReadOnlyMode) in C client library

      1. ZOOKEEPER-827.patch
        46 kB
        Sergey Doroshenko
      2. ZOOKEEPER-827.patch
        45 kB
        Sergey Doroshenko
      3. ZOOKEEPER-827.patch
        42 kB
        Sergey Doroshenko
      4. ZOOKEEPER-827.patch
        35 kB
        Sergey Doroshenko
      5. ZOOKEEPER-827.patch
        32 kB
        Sergey Doroshenko

        Activity

        Hide
        Sergey Doroshenko added a comment -

        Workable version of r/o functionality.

        To get r/o-enabled zhandle use zookeeper_init_ro function; zookeeper_init simply delegates to it. Client seeks for r/w server if in r/o state. Default watcher receives appropriate notifications.

        Things to add is handling of "fake" sessions (check ZOOKEEPER-784 and wiki page for details), and tests. For now I do have tests but they are tied to my environment; I also tested added functionality with cli_mt command-line client

        Show
        Sergey Doroshenko added a comment - Workable version of r/o functionality. To get r/o-enabled zhandle use zookeeper_init_ro function; zookeeper_init simply delegates to it. Client seeks for r/w server if in r/o state. Default watcher receives appropriate notifications. Things to add is handling of "fake" sessions (check ZOOKEEPER-784 and wiki page for details), and tests. For now I do have tests but they are tied to my environment; I also tested added functionality with cli_mt command-line client
        Hide
        Sergey Doroshenko added a comment -

        sessions handling added

        Show
        Sergey Doroshenko added a comment - sessions handling added
        Hide
        Sergey Doroshenko added a comment -
        • test added
        • made client backwards compatible with old server

        Overall, that's it. Fully workable r/o mode. Of course, to test it you also need to apply ZOOKEEPER-784

        Show
        Sergey Doroshenko added a comment - test added made client backwards compatible with old server Overall, that's it. Fully workable r/o mode. Of course, to test it you also need to apply ZOOKEEPER-784
        Hide
        Sergey Doroshenko added a comment -

        cancelling patch since test won't pass till server-side changes is integrated to the trunk

        Show
        Sergey Doroshenko added a comment - cancelling patch since test won't pass till server-side changes is integrated to the trunk
        Hide
        Sergey Doroshenko added a comment -

        improved documentation

        Show
        Sergey Doroshenko added a comment - improved documentation
        Hide
        Flavio Junqueira added a comment -

        I was wondering what the status of this patch is. Should it be patch available or there are still things missing?

        Show
        Flavio Junqueira added a comment - I was wondering what the status of this patch is. Should it be patch available or there are still things missing?
        Hide
        Sergey Doroshenko added a comment -

        This is fully workable solution that depends on ZOOKEEPER-784 only

        Show
        Sergey Doroshenko added a comment - This is fully workable solution that depends on ZOOKEEPER-784 only
        Hide
        Flavio Junqueira added a comment -

        Sergey, I'm asking because it is currently not marked as "Patch available". Should it be patch available? From your answer, it sounds like a "yes", but it would be good if you could confirm.

        Show
        Flavio Junqueira added a comment - Sergey, I'm asking because it is currently not marked as "Patch available". Should it be patch available? From your answer, it sounds like a "yes", but it would be good if you could confirm.
        Hide
        Sergey Doroshenko added a comment -

        Since ZOOKEEPER-784 is not in trunk, Hudson will reject this patch. But if you apply 784's patch, this one becomes "patch available"

        Show
        Sergey Doroshenko added a comment - Since ZOOKEEPER-784 is not in trunk, Hudson will reject this patch. But if you apply 784's patch, this one becomes "patch available"
        Hide
        Flavio Junqueira added a comment -

        Got it, thanks for the clarification, Sergey.

        Show
        Flavio Junqueira added a comment - Got it, thanks for the clarification, Sergey.
        Hide
        Sergey Doroshenko added a comment -

        The patch against current trunk's state. As before, depends on ZOOKEEPER-784.

        Show
        Sergey Doroshenko added a comment - The patch against current trunk's state. As before, depends on ZOOKEEPER-784 .
        Hide
        Vishal Kathuria added a comment -

        Committers - it would be great if we could commit this patch.

        Show
        Vishal Kathuria added a comment - Committers - it would be great if we could commit this patch.
        Hide
        Thawan Kooburat added a comment -

        #define READONLY_STATE_DEF 4
        This is inconsistent with server-side definition (5)

        Show
        Thawan Kooburat added a comment - #define READONLY_STATE_DEF 4 This is inconsistent with server-side definition (5)

          People

          • Assignee:
            Sergey Doroshenko
            Reporter:
            Sergey Doroshenko
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development