Re: GIN pending clean up is not interruptable

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: GIN pending clean up is not interruptable
Дата
Msg-id CAMkU=1yMtXp5f4VeVHGCxf5EQgd7+0weRPNUL6rOmKtyD+zukg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: GIN pending clean up is not interruptable  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: GIN pending clean up is not interruptable
Список pgsql-hackers
On Tue, Aug 11, 2015 at 5:27 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Andres Freund <andres@anarazel.de> writes:
> On 2015-08-11 15:07:15 -0700, Jeff Janes wrote:
>> The attached patch adds an else branch to call CHECK_FOR_INTERRUPTS().
>>
>> But I think we could instead just call vacuum_delay_point unconditionally.
>> It calls CHECK_FOR_INTERRUPTS(), and if not in a throttled vacuum it does
>> nothing else.  (That is how ANALYZE handles it.)

> Hm, I find that not exactly pretty. I'd rather just add an unconditional
> CHECK_FOR_INTERRUPTS to the function.

CHECK_FOR_INTERRUPTS is very cheap.  But I tend to agree that you should
be using vacuum_delay_point.


Attached patch does it that way.  There was also a free-standing CHECK_FOR_INTERRUPTS() which had no reason that I could see not be a vacuum_delay_point, so I changed that one as well.

With this patch, ctrl-C and 'pg_ctl stop -mf' both behave nicely.

Cheers,

Jeff
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Raising our compiler requirements for 9.6
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Close some holes in BRIN page assignment