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.