diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 608c5149e5..874c8ed125 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -1074,6 +1074,9 @@ StartPrepare(GlobalTransaction gxact) hdr.ninvalmsgs = xactGetCommittedInvalidationMessages(&invalmsgs, &hdr.initfileinval); hdr.gidlen = strlen(gxact->gid) + 1; /* Include '\0' */ + /* EndPrepare will fill the origin data, if necessary */ + hdr.origin_lsn = InvalidXLogRecPtr; + hdr.origin_timestamp = 0; save_state_data(&hdr, sizeof(TwoPhaseFileHeader)); save_state_data(gxact->gid, hdr.gidlen); @@ -1133,11 +1136,6 @@ EndPrepare(GlobalTransaction gxact) hdr->origin_lsn = replorigin_session_origin_lsn; hdr->origin_timestamp = replorigin_session_origin_timestamp; } - else - { - hdr->origin_lsn = InvalidXLogRecPtr; - hdr->origin_timestamp = 0; - } /* * If the data size exceeds MaxAllocSize, we won't be able to read it in