Re: Statement.cancel() may cancel queries in the future

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Statement.cancel() may cancel queries in the future
Дата
Msg-id 10884.1063641707@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Statement.cancel() may cancel queries in the future  (Oliver Jowett <oliver@opencloud.com>)
Ответы Re: Statement.cancel() may cancel queries in the future
Список pgsql-jdbc
Oliver Jowett <oliver@opencloud.com> writes:
> We want to block thread 1 at the point marked (*) until we know the cancel
> has been processed and it is safe to send another query. However, looking at
> the backend code query-cancel is implemented by B sending a signal to A, and
> if A is not executing a query the signal is silently eaten. So I'm not sure
> how to eliminate this race as we have no way of working out when the signal
> has arrived in the above case.

When JDBC issues a cancel request, does it simply fire off a few bytes
and close the connection?  You could make things a lot closer to
synchronous if you wait for the postmaster to drop the connection,
instead.  That would guarantee that the postmaster has completed
executing kill().  I suppose actual delivery of the signal to the
backend might not have happened yet, but it's hard to believe that
it could be postponed past the backend's next successful execution of
recv().

            regards, tom lane

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

Предыдущее
От: Malcolm Warren
Дата:
Сообщение: Re: Bug #814
Следующее
От: Barry Lind
Дата:
Сообщение: Re: Bug #814