Обсуждение: Re: [COMMITTERS] pgsql: Reset 'ps' display just once when resolving VXID conflicts.

Поиск
Список
Период
Сортировка

Re: [COMMITTERS] pgsql: Reset 'ps' display just once when resolving VXID conflicts.

От
Robert Haas
Дата:
On Fri, Dec 17, 2010 at 9:52 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <rhaas@postgresql.org> writes:
>> Reset 'ps' display just once when resolving VXID conflicts.
>> This prevents the word "waiting" from briefly disappearing from the ps
>> status line when ResolveRecoveryConflictWithVirtualXIDs begins a new
>> iteration of the outer loop.
>
> I imagine the reason for the original coding was to avoid a useless
> gettimeofday kernel call in the common case that there are no
> conflicting xacts to wait for.  Could we restore that behavior?

Something like the attached?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Вложения

Re: [COMMITTERS] pgsql: Reset 'ps' display just once when resolving VXID conflicts.

От
Tom Lane
Дата:
Robert Haas <robertmhaas@gmail.com> writes:
> On Fri, Dec 17, 2010 at 9:52 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I imagine the reason for the original coding was to avoid a useless
>> gettimeofday kernel call in the common case that there are no
>> conflicting xacts to wait for. �Could we restore that behavior?

> Something like the attached?

I would just add the return-at-the-top.  Changing the loop logic is
not necessary --- the loop test is cheap.
        regards, tom lane


Re: [COMMITTERS] pgsql: Reset 'ps' display just once when resolving VXID conflicts.

От
Robert Haas
Дата:
On Fri, Dec 17, 2010 at 11:20 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Fri, Dec 17, 2010 at 9:52 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> I imagine the reason for the original coding was to avoid a useless
>>> gettimeofday kernel call in the common case that there are no
>>> conflicting xacts to wait for.  Could we restore that behavior?
>
>> Something like the attached?
>
> I would just add the return-at-the-top.  Changing the loop logic is
> not necessary --- the loop test is cheap.

Hmm... that's a fine bit of hairsplitting, but OK.

Done that way, then.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company