[Pgpool-committers] pgpool - pgpool-II: Fix segfault in following scenario: - Add new node
User T-ishii
t-ishii at pgfoundry.org
Tue Aug 23 04:36:58 UTC 2011
Log Message:
-----------
Fix segfault in following scenario:
- Add new node in pgpool.conf.
- Reload pgpool.conf. At this point new is in down status.
- Connect using psql and do some query.
- Failback the new node.
- Do another query and pgpool child segfaults.
- Worker child segfaults
To fix this,
- Initialize private_backend_status with MAX_NUM_BACKENDS, rather than
NUM_BACKENDS.
- Add signal handler to worker process and pcp child process. When a
failback event occurs, pgpool main sends SIGUSR1 to those processes.
- Those processes set restart request flag and restart whenever
convenient.
Fix suggested by Gurjeet Singh.
Modified Files:
--------------
pgpool-II:
child.c (r1.72 -> r1.73)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/child.c?r1=1.72&r2=1.73)
main.c (r1.108 -> r1.109)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/main.c?r1=1.108&r2=1.109)
pcp_child.c (r1.25 -> r1.26)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pcp_child.c?r1=1.25&r2=1.26)
pool.h (r1.92 -> r1.93)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool.h?r1=1.92&r2=1.93)
pool_worker_child.c (r1.11 -> r1.12)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_worker_child.c?r1=1.11&r2=1.12)
More information about the Pgpool-committers
mailing list