You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Alexander Shraer (JIRA)" <ji...@apache.org> on 2014/07/18 19:58:05 UTC

[jira] [Updated] (ZOOKEEPER-1967) Eliminate the temp dynamic config file, find last proposed config in transaction log.

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Shraer updated ZOOKEEPER-1967:
----------------------------------------

    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.

  was:
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 dynamic config file, finding the last proposed reconfig in the the transaction log.




> Eliminate the temp dynamic config file, find last proposed config in transaction log.
> -------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1967
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1967
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: quorum, server
>            Reporter: Alexander Shraer
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.2#6252)