[ 
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)

Reply via email to