Re: [REVIEW] pg_last_xact_insert_timestamp - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: [REVIEW] pg_last_xact_insert_timestamp
Date
Msg-id CAHGQGwFhZOCcZzexyMzBiq3mrj_EdF0+Kej50-sn-BeeoXCrRg@mail.gmail.com
Whole thread Raw
In response to Re: [REVIEW] pg_last_xact_insert_timestamp  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: [REVIEW] pg_last_xact_insert_timestamp
List pgsql-hackers
On Mon, Aug 11, 2014 at 4:46 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> Hi,
>
> On 2011-10-04 20:52:59 +0900, Fujii Masao wrote:
>> *** a/src/backend/access/transam/xact.c
>> --- b/src/backend/access/transam/xact.c
>> ***************
>> *** 1066,1071 **** RecordTransactionCommit(void)
>> --- 1066,1074 ----
>>
>>                       (void) XLogInsert(RM_XACT_ID, XLOG_XACT_COMMIT_COMPACT, rdata);
>>               }
>> +
>> +             /* Save timestamp of latest transaction commit record */
>> +             pgstat_report_xact_end_timestamp(xactStopTimestamp);
>>       }
>>
>
> Perhaps that pgstat_report() should instead be combined with the
> pgstat_report_xact_timestamp(0) in CommitTransaction()? Then the number
> of changecount increases and cacheline references would stay the
> same. The only thing that'd change would be a single additional
> assignment.

Sounds good suggestion.

While reading the patch again, I found it didn't handle the COMMIT/ABORT
PREPARED case properly. According to the commit e74e090, now
pg_last_xact_replay_timestamp() returns the timestamp of COMMIT/ABORT PREPARED.
pg_last_xact_insert_timestamp() is mainly expected to be used to calculate
the replication delay, so it also needs to return that timestam. But the patch
didn't change 2PC code at all. We need to add pgstat_report_xact_end_timestamp()
into FinishPreparedTransaction(), RecordTransactionCommitPrepared() or
RecordTransactionAbortPrepared().

Regards,

-- 
Fujii Masao



pgsql-hackers by date:

Previous
From: worthy7
Date:
Subject: Re: nulls in GIN index
Next
From: Fujii Masao
Date:
Subject: Re: psql: show only failed queries