From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | eshkinkot(at)gmail(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #12833: Cannot cancel query or terminate backend if it client is SIGSTOPed |
Date: | 2015-03-05 17:33:22 |
Message-ID: | 26913.1425576802@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
eshkinkot(at)gmail(dot)com writes:
> I run this command in bash:
> $ ../bin/psql -X -At -c 'copy (select * from generate_series(1, 100000000))
> to stdout' & ( sleep 2; kill -STOP $!; )
> $ ps f --ppid $$
> PID TTY STAT TIME COMMAND
> 24773 pts/23 R+ 0:00 ps f --ppid 5021
> 24685 pts/23 T 0:00 ../bin/psql -X -At -c copy (select * from
> generate_series(1, 100000000)) to stdout
> Now psql is stopped and I try to cancel it backend with
> pg_cancel_backend and pg_terminate_backend, but it not canceled or stopped.
[ shrug... ] It'll probably terminate the query whenever the kernel
returns from send(). There aren't a lot of options here: the only
way we could get out of this without waiting for the client is a
catastrophic termination of the session, which is not really what
either of those operations authorizes. There's no way to do anything
less drastic without breaking protocol sync.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2015-03-05 17:36:42 | Re: BUG #12833: Cannot cancel query or terminate backend if it client is SIGSTOPed |
Previous Message | eshkinkot | 2015-03-05 16:37:08 | BUG #12833: Cannot cancel query or terminate backend if it client is SIGSTOPed |