• Simon Riggs's avatar
    Speedup 2PC by skipping two phase state files in normal path · 978b2f65
    Simon Riggs authored
    2PC state info is written only to WAL at PREPARE, then read back from WAL at
    COMMIT PREPARED/ABORT PREPARED. Prepared transactions that live past one bufmgr
    checkpoint cycle will be written to disk in the same form as previously. Crash
    recovery path is not altered. Measured performance gains of 50-100% for short
    2PC transactions by completely avoiding writing files and fsyncing. Other
    optimizations still available, further patches in related areas expected.
    
    Stas Kelvich and heavily edited by Simon Riggs
    
    Based upon earlier ideas and patches by Michael Paquier and Heikki Linnakangas,
    a concrete example of how Postgres-XC has fed back ideas into PostgreSQL.
    
    Reviewed by Michael Paquier, Jeff Janes and Andres Freund
    Performance testing by Jesper Pedersen
    978b2f65
xlog.h 10.1 KB