Re: idle in txn query cancellation

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: idle in txn query cancellation
Дата
Msg-id 201002151143.37382.andres@anarazel.de
обсуждение исходный текст
Ответ на Re: idle in txn query cancellation  (Simon Riggs <simon@2ndQuadrant.com>)
Список pgsql-hackers
On Monday 15 February 2010 09:47:09 Simon Riggs wrote:
> On Sat, 2010-02-13 at 22:37 +0100, Andres Freund wrote:
> > On a related note I would also like to get rid of the restriction that
> > a normal query cancellation will only be done if no subtransactions
> > are stacked.
> > But I guess its too late for that? (I have a patch ready, some cleanup
> > would be needed)
> > The latter works by:
> > - adding a explicit error code (which should be done regardless of
> > this
> > discussion)
> > - avoiding to catch such error at a few places (plperl, plpython)
> > - recursively aborting the subtransactions once the mainloop is
> > reached
> > - relying on the fact that the cancellation signal will get resent
> > - possibly escalating to a FATAL if nothing happens after a certain
> > number of tries
> 
> Such an action needs to have a good, clear theoretical explanation with
> it to show that the interaction with savepoints is a good one.
I can provide a bit more explanation. The patch (other thread) already added 
some more comments but its definitely good to explain/define some more.
Will post that to the thread with the patch, ok?

> I toyed with the idea of a new level between ERROR and FATAL to allow
> ERRORs to be handled by savepoints still in all cases.
I have a hard time believing that it will help in that situation. Either you 
allow cleaning up process local resources in PG_TRY/PG_TRY in which situation 
you cant abort recursively at all places because the catching code block may 
very well reference resources associated with that snapshot or you abort the 
process in a way that there are no process local resources.

How would the middleway between those work?

Andres


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

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: PostgreSQL::PLPerl::Call - Simple interface for calling SQL functions from PostgreSQL PL/Perl
Следующее
От: Tim Bunce
Дата:
Сообщение: Re: PostgreSQL::PLPerl::Call - Simple interface for calling SQL functions from PostgreSQL PL/Perl