Re: Speedup twophase transactions

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Stas Kelvich <s(dot)kelvich(at)postgrespro(dot)ru>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Speedup twophase transactions
Date: 2016-01-12 12:49:38
Message-ID: CAB7nPqTdj16O6YYr2_pLwEnG5_YSGXnwRu71ohB3sCPOQEuhAA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 12, 2016 at 5:26 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On 12 January 2016 at 06:41, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
> wrote:
>>
>>
>> + if (log_checkpoints && n > 0)
>> + ereport(LOG,
>> + (errmsg("%u two-phase state files were
>> written "
>> + "for long-running
>> prepared transactions",
>> + n)));
>> This would be better as an independent change. That looks useful for
>> debugging, and I guess that's why you added it.
>
>
> The typical case is that no LOG message would be written at all, since that
> only happens minutes after a prepared transaction is created and then not
> terminated. Restarting a transaction manager likely won't take that long, so
> it implies a crash or emergency shutdown of the transaction manager.

Thanks for the detailed explanation.

> I think it is sensible and useful to be notified of this as a condition the
> operator would wish to know about. The message doesn't recur every
> checkpoint, it occurs only once at the point the files are created, so its
> not log spam either.

Well, I am not saying that this is bad, quite the contrary actually.
It is just that this seems unrelated to this patch and would still be
useful even now with CheckPointTwoPhase.
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2016-01-12 12:53:25 Re: Speedup twophase transactions
Previous Message Michael Paquier 2016-01-12 12:44:42 Re: extend pgbench expressions with functions