[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