[Pgpool-general] Reloading the server while under load and recovering the degenerated node
Jaume Sabater
jsabater at gmail.com
Tue Feb 24 14:14:52 UTC 2009
On Tue, Feb 24, 2009 at 3:30 AM, Tatsuo Ishii <ishii at sraoss.co.jp> wrote:
> Initialy I thought PostgreSQL will not send parameter status packet
> unless some sensitive parameters such as datestyle etc. is
> changed. The reality is, PostgreSQL sends those packets virtually
> randomly whenever postgresql.conf is reloaded.
>
> Now pgpool ignores those randomly:-) sent packets thus you should be
> able to reload postgresql.conf anytime.
I've applied the patches and run the tests again:
dropdb -h postgresql -p 9999 -U pgpool2 bench_replication
createdb -h postgresql -p 9999 -U pgpool2 bench_replication
createlang -h postgresql -p 9999 -U pgpool2 -d bench_replication plpgsql
pgbench -i -h postgresql -p 9999 -U pgpool2 -d bench_replication
pgbench -h postgresql -p 9999 -U pgpool2 -d bench_replication -c 2 -t 100
Reloading both PostgreSQL, with and without changes in the
postgresql.conf file, resulted in no errors/cuts. Here you are the log
by pgpool sent to the syslog:
Feb 24 15:08:42 pgsql1 pgpool: LOG: pid 23867:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:08:42 pgsql1 pgpool: LOG: pid 23867:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:08:42 pgsql1 pgpool: LOG: pid 23867:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:08:42 pgsql1 pgpool: LOG: pid 23867:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:08:59 pgsql1 pgpool: LOG: pid 23854:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:08:59 pgsql1 pgpool: LOG: pid 23854:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:08:59 pgsql1 pgpool: LOG: pid 23854:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:08:59 pgsql1 pgpool: LOG: pid 23854:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:09:41 pgsql1 pgpool: LOG: pid 23882:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:09:41 pgsql1 pgpool: LOG: pid 23882:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:09:41 pgsql1 pgpool: LOG: pid 23882:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:09:41 pgsql1 pgpool: LOG: pid 23882:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:09:44 pgsql1 pgpool: LOG: pid 23852:
read_kind_from_backend: parameter name: DateStyle value: ISO, MDY
Feb 24 15:09:44 pgsql1 pgpool: LOG: pid 23881:
read_kind_from_backend: parameter name: DateStyle value: ISO, MDY
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23852:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23852:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23852:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23852:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23881:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23881:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23881:
read_kind_from_backend: parameter name: is_superuser value: on
Feb 24 15:09:54 pgsql1 pgpool: LOG: pid 23881:
read_kind_from_backend: parameter name: session_authorization value:
pgpool2
Thanks a lot for the fix, Tatsuo.
Regarding the "some times client connections are not dropped and the
online recovery process fails at second stage", any hints or ideas?
--
Jaume Sabater
http://linuxsilo.net/
"Ubi sapientas ibi libertas"
More information about the Pgpool-general
mailing list