Hi, Assume the following:
- I have a transaction coordinator and two primary nodes with 0 backup nodes. - Persistence store is enabled. - I'm running a transaction in pessimistic mode with serializable isolation. I have these questions: 1. What exactly happens during the prepare phase? Only acquiring locks on the two primary nodes? Or do the primary nodes themselves, in addition to acquiring locks, write to their respective WAL a TxRecord with a "begin prepare" info? 2. Assume locks have been acquired successfully, would the nodes then write a "prepared" TxRecord to WAL before returning a "Yes" vote to coordinator? 3. When the coordinator sends a commit message, would each node write the key-values to the DataRecord and a commit to the TxRecord before returning to coordinator? Overall, I'm trying to understand what happens exactly during prepare and commit phases and when the key-values involved in the transaction are actually written; as well as the exact updates that are written to the WAL files in each phase. appreciate your response. Thanks,