> I have also done a couple of online recoveries using RC1 with the > create index concurrently patched applied and they seemed to run fine. > I will double check tomorrow and then apply the changes made within > Revision 1.140 of pool_process_query.c to see the difference.
Thans a lot. > On a second note here for those that use rsync for syncing PG nodes. > The latest version 3.0.5 has great speed performance improvements. > My rsync of the nodes using version 3.0.5 has been around 50% faster > than before. 50% is huge. I will add this comment to the docs. -- Tatsuo Ishii SRA OSS, Inc. Japan > Marcelo > PostgreSQL DBA > Linux/Solaris System Administrator > > On Feb 19, 2009, at 7:39 PM, Tatsuo Ishii wrote: > > > Thanks for the report. I think what happend here was, exiting pgpool > > children tried to close connections to backend, which did not exist > > actually since a new node just had been added. I have committed the > > fix. Included is the patch against RC1 (and beta1/2). > > -- > > Tatsuo Ishii > > SRA OSS, Inc. Japan > > > >> On Sun, Feb 15, 2009 at 6:43 AM, Tatsuo Ishii <[email protected]> > >> wrote: > >> > >>> pgpool-II 2.2 RC1 is released. Changes from beta2: > >> > >> While trying to reproduce the problem with reloading PostgreSQL > >> (change log_connections and log_statements) while under load, I > >> decided to do an online recovery. I used version beta 2. > >> > >> And got this nasty error in the syslog where pgpool-II is executing > >> (the master node): > >> > >> Feb 18 14:52:45 pgsql1 pgpool[11708]: Rsyncing directory pg_xlog > >> Feb 18 14:52:56 pgsql1 pgpool[11712]: Rsyncing file recovery.conf > >> (with source deletion) > >> Feb 18 14:52:56 pgsql1 pgpool[11715]: Executing pg_stop_backup > >> Feb 18 14:52:56 pgsql1 pgpool: LOG: pid 12706: 1st stage is done > >> Feb 18 14:52:56 pgsql1 pgpool: LOG: pid 12706: starting 2nd stage > >> Feb 18 14:53:26 pgsql1 pgpool: LOG: pid 3307: pool_process_query: > >> child connection forced to terminate due to > >> client_idle_limit_in_recovery(30) reached > >> Feb 18 14:53:26 pgsql1 pgpool: LOG: pid 24993: pool_process_query: > >> child connection forced to terminate due to > >> client_idle_limit_in_recovery(30) reached > >> Feb 18 14:53:26 pgsql1 pgpool: LOG: pid 3314: pool_process_query: > >> child connection forced to terminate due to > >> client_idle_limit_in_recovery(30) reached > >> Feb 18 14:53:29 pgsql1 pgpool: LOG: pid 12706: all connections from > >> clients have been closed > >> Feb 18 14:53:29 pgsql1 pgpool: LOG: pid 12706: CHECKPOINT in the > >> 2nd > >> stage done > >> Feb 18 14:53:29 pgsql1 pgpool: LOG: pid 12706: starting recovery > >> command: "SELECT pgpool_recovery('pgpool-recovery-pitr', > >> 'pgsql2.freyatest.domain', '/var/l > >> ib/postgresql/8.3/main')" > >> Feb 18 14:53:29 pgsql1 pgpool[11725]: Executing pgpool-recovery-pitr > >> as user postgres > >> Feb 18 14:53:29 pgsql1 pgpool[11726]: Executing pg_switch_xlog > >> Feb 18 14:53:29 pgsql1 pgpool[11730]: pg_switch_xlog executed > >> successfully. > >> Feb 18 14:53:29 pgsql1 pgpool[11734]: Executing pgpool_remote_start > >> as > >> user postgres > >> Feb 18 14:53:29 pgsql1 pgpool[11735]: Starting remote PostgreSQL > >> server > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12706: 1 node restarted > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12706: > >> send_failback_request: fail back 1 th node request from pid 12706 > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12669: starting fail back. > >> reconnect host pgsql2.freyatest.domain(5432) > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12669: execute command: > >> /var/lib/postgresql/8.3/main/pgpool-failback 1 > >> pgsql2.freyatest.domain > >> 5432 /var/lib/postgre > >> sql/8.3/main 0 0 > >> Feb 18 14:53:34 pgsql1 pgpool[11768]: Executing pgpool-failback as > >> user postgres > >> Feb 18 14:53:34 pgsql1 pgpool[11769]: Failback of node 1 at hostname > >> pgsql2.freyatest.domain. New master node is 0. Old master node was 0. > >> Feb 18 14:53:34 pgsql1 kernel: [2427427.254118] pgpool[3307] segfault > >> at 10 ip 4137ac sp 7fff12fb3930 error 4 in pgpool[400000+b0000] > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12669: failover_handler: > >> set > >> new master node: 0 > >> Feb 18 14:53:34 pgsql1 kernel: [2427427.267249] pgpool[3314] segfault > >> at 10 ip 4137ac sp 7fff12fb3930 error 4 in pgpool[400000+b0000] > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12669: failback done. > >> reconnect host pgsql2.freyatest.domain(5432) > >> Feb 18 14:53:34 pgsql1 pgpool: LOG: pid 12706: recovery done > >> > >> The thing is that pgpool-II was active and both nodes seemed to be > >> online, but the error gave me the creeps. I got so scared that now I > >> am using RC1 with the createindex patch you submitted and doing all > >> the tests from scratch again. Recovering again did not produce the > >> same error (using RC1 with the patch), although it was a quick > >> operation as it did not have to transfer tons of gigabytes of > >> information (they were already transfered before, when it gave the > >> error). > >> > >> I'll submit more as soon as I can. Too damn busy these days and can't > >> really test as much as I would like :'( > >> > >> -- > >> Jaume Sabater > >> http://linuxsilo.net/ > >> > >> "Ubi sapientas ibi libertas" > >> _______________________________________________ > >> Pgpool-general mailing list > >> [email protected] > >> http://pgfoundry.org/mailman/listinfo/pgpool-general > > Index: pool_process_query.c > > =================================================================== > > RCS file: /cvsroot/pgpool/pgpool-II/pool_process_query.c,v > > retrieving revision 1.137 > > retrieving revision 1.138 > > diff -c -r1.137 -r1.138 > > *** pool_process_query.c 6 Feb 2009 15:30:51 -0000 1.137 > > --- pool_process_query.c 10 Feb 2009 01:11:43 -0000 1.138 > > *************** > > *** 1,6 **** > > /* -*-pgsql-c-*- */ > > /* > > ! * $Header: /cvsroot/pgpool/pgpool-II/pool_process_query.c,v 1.137 > > 2009/02/06 15:30:51 t-ishii Exp $ > > * > > * pgpool: a language independent connection pool server for > > PostgreSQL > > * written by Tatsuo Ishii > > --- 1,6 ---- > > /* -*-pgsql-c-*- */ > > /* > > ! * $Header: /cvsroot/pgpool/pgpool-II/pool_process_query.c,v 1.138 > > 2009/02/10 01:11:43 t-ishii Exp $ > > * > > * pgpool: a language independent connection pool server for > > PostgreSQL > > * written by Tatsuo Ishii > > *************** > > *** 3910,3917 **** > > T_ViewStmt, /* CREATE VIEW */ > > T_LoadStmt, > > T_CreateDomainStmt, > > ! T_CreatedbStmt, > > ! T_DropdbStmt, > > T_CreateSeqStmt, > > T_AlterSeqStmt, > > T_VariableSetStmt, /* SET */ > > --- 3910,3919 ---- > > T_ViewStmt, /* CREATE VIEW */ > > T_LoadStmt, > > T_CreateDomainStmt, > > ! /* > > ! T_CreatedbStmt, CREATE DATABASE/DROP DATABASE cannot > > execute > > inside a transaction block > > ! T_DropdbStmt, > > ! */ > > T_CreateSeqStmt, > > T_AlterSeqStmt, > > T_VariableSetStmt, /* SET */ > > _______________________________________________ > > Pgpool-general mailing list > > [email protected] > > http://pgfoundry.org/mailman/listinfo/pgpool-general > _______________________________________________ Pgpool-general mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-general
