On Fri, Jul 17, 2009 at 8:58 AM, Fujii Masao<masao.fujii@gmail.com> wrote:
> Hi,
>
> On Fri, Jul 17, 2009 at 5:41 PM, Fujii Masao<masao.fujii@gmail.com> wrote:
>>> I'm reviewing this patch:
>>> http://archives.postgresql.org/message-id/3f0b79eb0907022341m1d36a841x19c3e2a5a6906b5b@mail.gmail.com
>
> I updated the patch to solve two problems which you pointed.
>
> Here is the changes:
>
> * Prevented the obsolete flag to being set to a new process, by using
> newly-introduced spinlock.
>
thinking in ways to test the patch i tried this, the test at least try
to see if signals are managed correctly:
- patch, compile, install, initdb and start the service
- open five terminals: on the first: make installcheck on the second: pg_dumpall -p
port_to_an_existing_med_size_test_installation | psql on third: psql -f
/home/postgres/a_something_small_database.sqlon fourth: explain analyze with q as (select * from
generate_series(1, 1000000) select * from q a, q
b, q c, q d, q e, q f; on fifth: select procpid from pg_start_activity; and
pg_cancel_backend(randomly_choosen_pid);
when cancelling backends i got in a situation where i kill the explain
analyze in fourth session, execute again the pg_cancel_backend for the
same session and if i try to re-execute the same explain analyze it
got cancelled immediatly (seems like something don't get cleaned
appropiately).
once you get in this situation you can repeat that everytime you want;
bad enough, i wasn't able to repeat this on a new instalation and of
course i can't swear this is your patch fault...
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157