1. ZooKeeper
  2. ZOOKEEPER-1413

Use on-disk transaction log for learner sync up


    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.4.3
    • Fix Version/s: 3.5.0
    • Component/s: server


      The learner syncs up with leader by retrieving committed log from the leader. Currently, the leader only keeps 500 entries of recently committed log in memory. If the learner falls behind more than 500 updates, the leader will send the entire snapshot to the learner.

      With the size of the snapshot for some of our Zookeeper deployments (~10G), it is prohibitively expensive to send the entire snapshot over network. Additionally, our Zookeeper may serve more than 4K updates per seconds. As a result, a network hiccups for less than a second will cause the learner to use snapshot transfer.

      Instead of looking only at committed log in memory, the leader will also look at transaction log on disk. The amount of transaction log kept on disk is configurable and the current default is 100k. This will allow Zookeeper to tolerate longer temporal network failure before initiating the snapshot transfer.

      We plan to add interface to the persistence layer will can be use to retrieve proposals from on-disk transaction log. These proposals can then be used to send to the learner using existing protocol.

      1. ZOOKEEPER-1413-3.4.patch
        88 kB
        Germán Blanco
      2. ZOOKEEPER-1413-3.4.patch
        61 kB
        Germán Blanco
      3. ZOOKEEPER-1413.patch
        88 kB
        Thawan Kooburat
      4. ZOOKEEPER-1413.patch
        87 kB
        Thawan Kooburat
      5. ZOOKEEPER-1413.patch
        87 kB
        Thawan Kooburat
      6. ZOOKEEPER-1413.patch
        87 kB
        Thawan Kooburat
      7. ZOOKEEPER-1413.patch
        87 kB
        Thawan Kooburat
      8. ZOOKEEPER-1413.patch
        70 kB
        Thawan Kooburat
      9. ZOOKEEPER-1413.patch
        23 kB
        Thawan Kooburat

        Issue Links


          No work has yet been logged on this issue.


            • Assignee:
              Thawan Kooburat
              Thawan Kooburat
            • Votes:
              0 Vote for this issue
              10 Start watching this issue


              • Created: