Re: track_commit_timestamp and COMMIT PREPARED
От | Fujii Masao |
---|---|
Тема | Re: track_commit_timestamp and COMMIT PREPARED |
Дата | |
Msg-id | CAHGQGwGJjrSOTntCabxSesWwFkHy-c0nGk-WS_rbcoVODevO=w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: track_commit_timestamp and COMMIT PREPARED (Petr Jelinek <petr@2ndquadrant.com>) |
Ответы |
Re: track_commit_timestamp and COMMIT PREPARED
Re: track_commit_timestamp and COMMIT PREPARED |
Список | pgsql-hackers |
On Sat, Sep 5, 2015 at 7:48 PM, Petr Jelinek <petr@2ndquadrant.com> wrote: > On 2015-09-02 16:14, Fujii Masao wrote: >> >> On Wed, Aug 5, 2015 at 2:16 AM, Robert Haas <robertmhaas@gmail.com> wrote: >>> >>> On Mon, Aug 3, 2015 at 10:31 AM, Fujii Masao <masao.fujii@gmail.com> >>> wrote: >>>> >>>> track_commit_timestamp tracks COMMIT PREPARED as expected in standby >>>> server, >>>> but not in master server. Is this intentional? It should track COMMIT >>>> PREPARED >>>> even in master? Otherwise, we cannot use commit_timestamp feature to >>>> check >>>> the replication lag properly while we use 2PC. >>> >>> >>> That sounds like it must be a bug. I think you should add it to the >>> open items list. >> >> > > Attached fixes this. It includes advancement of replication origin as well. > I didn't feel like doing refactor of commit code this late in 9.5 cycle > though, so I went with the code duplication + note in xact.c. Agreed. We can refactor the code later if needed. The patch looks good to me except the following minor points. * or not. Normal path through RecordTransactionCommit() will be related* to a transaction commit XLog record, and so shouldpass "false" here. The above source comment of TransactionTreeSetCommitTsData() seems to need to be updated. + * Note: if you change this functions you should also look at + * RecordTransactionCommitPrepared in twophase.c. Typo: "this functions" should be "this function" + if (replorigin_sesssion_origin == InvalidRepOriginId || This is not the problem of the patch, but I started wondering what "sesssion" in the variable name "replorigin_sesssion_origin" means. Is it just a typo and it should be "session"? Or it's the abbreviation of something? Regards, Regards, -- Fujii Masao
В списке pgsql-hackers по дате отправления: