pgsql: Speedup 2PC recovery by skipping two phase state files in normal

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Speedup 2PC recovery by skipping two phase state files in normal
Date: 2017-04-04 19:58:12
Message-ID: E1cvUai-000415-8W@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Speedup 2PC recovery by skipping two phase state files in normal path

2PC state info held in shmem at PREPARE, then cleaned at COMMIT PREPARED/ABORT PREPARED,
avoiding writing/fsyncing any state information to disk in the normal path, greatly enhancing replay speed.
Prepared transactions that live past one checkpoint redo horizon will be written to disk as now.
Similar conceptually to 978b2f65aa1262eb4ecbf8b3785cb1b9cf4db78e and building upon
the infrastructure created by that commit.

Authors, in equal measure: Stas Kelvich, Nikhil Sontakke and Michael Paquier
Discussion: https://postgr.es/m/CAMGcDxf8Bn9ZPBBJZba9wiyQq-Qk5uqq=VjoMnRnW5s+fKST3w@mail.gmail.com

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/728bd991c3c4389fb39c45dcb0fe57e4a1dccd71

Modified Files
--------------
src/backend/access/transam/twophase.c | 821 ++++++++++++++++++++++------------
src/backend/access/transam/xact.c | 18 +-
src/backend/access/transam/xlog.c | 10 +
src/include/access/twophase.h | 7 +-
4 files changed, 550 insertions(+), 306 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2017-04-04 20:51:58 pgsql: Clarify documentation of to_tsvector(json(b))
Previous Message Peter Eisentraut 2017-04-04 16:51:36 pgsql: Adjust min/max values when changing sequence type