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

Eliminate the temp dynamic config file, find last proposed config in transaction log.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • quorum, server
    • None

    Description

      The .next temporary config file is created when a server acks a reconfig proposal.
      During reconfig commit this file becomes the permanent dynamic config file.
      This temp file is read (if exists) during server boot to determine whether there is a reconfig potentially in progress.

      This info is also available in the transaction log, since reconfig is a transaction. Initially I chose not to take this information from the transaction log, mainly for simplicity, since I believed that we need the last proposed reconfig info before we're processing the transaction log (for example, if we'd like to contact new config servers during FLE - this is discussed in ZOOKEEPER-1807).

      It would be useful to revisit this issue and check whether we could eliminate the temporary .next dynamic config file, finding the last proposed reconfig in the the transaction log.

      Note that a bulk of the work here will be modifying ReconfigRecoveryTest, which uses .next files to start a server in a state where it thinks it crashed in a middle of a reconfig.

      Attachments

        Activity

          People

            Unassigned Unassigned
            shralex Alexander Shraer
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: