[Pgpool-general] pgpool-II 2.2 RC1 released

Tatsuo Ishii ishii at sraoss.co.jp
Fri Feb 20 06:52:35 UTC 2009


> 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 <ishii at sraoss.co.jp>  
> >> 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
> >> Pgpool-general at pgfoundry.org
> >> 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
> > Pgpool-general at pgfoundry.org
> > http://pgfoundry.org/mailman/listinfo/pgpool-general
> 


More information about the Pgpool-general mailing list