[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14064226#comment-14064226
 ] 

Hongchao Deng commented on ZOOKEEPER-1967:
------------------------------------------

[~shralex]

> It still requires processing the log, no ?

Yes. I still needs processing the log. At bootup, it processed all committed 
logs. If reconfig is not committed, it's the next one.

> Next, according to your proposal, you truncate the log at the other servers 
> and the transaction disappears.

It won't truncate everything on bootup. So when a follower syncs with leader, 
it sends last committed zxid (because it just processed them).
Then the leader could send DIFF of txns after it. A txn acked by a quorum won't 
be lost. Finally, the follower writes (appends) DIFF after last committed zxid. 
This is logically equal to TRUNC if there is any uncommitted txns in the 
follower. They a txn acked by a quorum will be there in the DIFF.

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



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

Reply via email to