㈠ MySQL XA事務源碼分析
在深入理解MySQL XA事務處理中,我們重點關注了幾個關鍵步驟:外部XA PREPARE、COMMIT、2PC階段的Log落盤順序,以及本地事務commit和外部XA的Rollback、RECOVERY流程。以下是這些流程的簡要概述:
開始階段:
------------------- XA PREPARE START -------------------------
結束階段:
------------------- XA PREPARE END -------------------------
簡述:
------------------- XA COMMIT START -------------------------
簡述:
------------------- XA COMMIT END -------------------------
不同之處:
------------------- PREPARE START -------------------------
不同之處:
------------------- PREPARE END -------------------------
------------------- COMMIT START -------------------------
------------------- COMMIT END -------------------------
簡述:
省流版:Not Prepared Rollback和Prepared Rollback的差異
詳細版:
Not Prepared Rollback:
在end - prepare期間rollback
Prepared Rollback:
在prepare之後rollback
簡述:
簡述:
重要提示:
在binlog rotate到新文件前,redo log會強制落盤,確保舊文件不包含未完成的事務。