Re: Hot Standy introduced problem with query cancel behavior

From: Joachim Wieland <joe(at)mcknight(dot)de>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Kris Jurka <books(at)ejurka(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Hot Standy introduced problem with query cancel behavior
Date: 2009-12-29 13:14:00
Message-ID: dc7b844e0912290514t290366b3uf82760cd46052ea9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Dec 27, 2009 at 10:42 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> Thanks for the report. I'll see about a fix.

In the end we are about to use SIGINT for two use cases:

- cancel an idle transaction
- cancel a running query

Previously a backend that was DoingCommandRead == true didn't do
anything upon reception of SIGINT, now it aborts either the running
query or the idle transaction, which is why Kris's example behaves
differently now.

If we use the same signal for both cases, the receiving backend cannot
tell what the intention of the sending backend was. That's why I
proposed to make SIGINT similar to SIGUSR1 where we write a reason to
a shared memory structure first and then send the signal (see
http://archives.postgresql.org/pgsql-hackers/2009-12/msg02067.php from
a few days ago).

There was also some dicussion about how to communicate the
cancellation back to the client when its idle transaction got aborted.
I implemented what I thought was the conclusion of the discussion but
haven't received a reply on it yet.

Joachim

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2009-12-29 13:33:17 Re: Add subdirectory support for DATA/DOCS with PGXS
Previous Message Guillaume Lelarge 2009-12-29 13:12:52 Re: Application name patch - v3