Re: Cancelling idle in transaction state - Mailing list pgsql-hackers

From Kris Jurka
Subject Re: Cancelling idle in transaction state
Date
Msg-id alpine.BSO.2.00.1001011527510.1839@leary.csoft.net
Whole thread Raw
In response to Re: Cancelling idle in transaction state  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Cancelling idle in transaction state
Re: Cancelling idle in transaction state
List pgsql-hackers

On Thu, 31 Dec 2009, Simon Riggs wrote:

> On Thu, 2009-12-31 at 15:41 +0100, Joachim Wieland wrote:
>
>> I still think that we should have three transaction cancel modes, one
>> to cancel an idle transaction, another one to cancel a running query
>> and a third one that just cancels the transaction regardless of it
>> being idle or not. This last one is what you are implementing now, and
>> it is what HS wants to do.
>
> pg_cancel_backend() is currently conditional on whether a statement is
> active or not, so should really be called pg_cancel_if_active(). What
> people want is an unconditional way to stop a transaction. I don't see
> the need for 3 modes (and that has nothing to do with HS).
>

The JDBC driver does want "cancel if active" behavior.  The JDBC API 
specifies Statement.cancel() where Statement is running one particular 
backend query.  So it really does want to cancel just that one query. 
Already this is tough because of the asynchronous nature of the cancel 
protocol and the inability to say exactly what should be cancelled.

Kris Jurka


pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: Serializable Isolation without blocking
Next
From: Simon Riggs
Date:
Subject: Re: Cancelling idle in transaction state