Questions about DTX


段世博
 

hi~
   I have some questions about DTX. In DAOS, DTX is used to implement distributed transactions and ensure replica consistency. As far as I know, for a transaction in a prepared state in a non-leader node, the leader needs to be used to confirm whether it has been committed, which can avoid inconsistencies caused by some nodes have committed successfully while others failed.  My question is if the leader crashes during the 2PC process, will this affect the correctness of the system, or how does DAOS guarantee the correctness in this case?

thanks
~duan


Yong, Fan
 

If the old DTX leader crashed after all participants ‘prepared’ but some of them not ‘committed’ yet, then the remaining alive DTX participants will elect new leader based on some algorithm. The new leader will query such DTX status from related participants, then either commit or abort such DTX. Such process is called as DTX resync.

 

--

Regards,

Nasf

 

From: daos@daos.groups.io <daos@daos.groups.io> On Behalf Of 段世博
Sent: Thursday, April 15, 2021 9:59 PM
To: daos@daos.groups.io
Subject: [daos] Questions about DTX

 

hi~

   I have some questions about DTX. In DAOS, DTX is used to implement distributed transactions and ensure replica consistency. As far as I know, for a transaction in a prepared state in a non-leader node, the leader needs to be used to confirm whether it has been committed, which can avoid inconsistencies caused by some nodes have committed successfully while others failed.  My question is if the leader crashes during the 2PC process, will this affect the correctness of the system, or how does DAOS guarantee the correctness in this case?

thanks
~duan