[pgpool-general: 4513] Re: Forked New PCP Worker

Muhammad Usama m.usama at gmail.com
Wed Mar 2 23:30:53 JST 2016


On Wed, Mar 2, 2016 at 12:52 AM, Burton, Chuck <Chuck.Burton at arris.com>
wrote:

> We are running pgpool in our lab in a virtualized, dockerized environment
> with pgpool managing two streaming replicated Postgres nodes.  I am running
> pgpool 3.5.0.1.
>
>
>
> I am using pgbench to connect through pgpool:
>
>
>
> /usr/pgsql-9.3/bin/pgbench -c 300 -r -j 5 -t 3334 -h pgpool -p 9999 dbname
>
>
>
> What is happening is I’m getting frequent disconnects of the pcp worker:
>
>
>
> 2016-03-01 19:36:48: pid 5369: LOG:  forked new pcp worker, pid=7377
> socket=7
>
> 2016-03-01 19:36:48: pid 5369: LOG:  PCP process with pid: 7377 exit with
> SUCCESS.
>
> 2016-03-01 19:36:48: pid 5369: LOG:  PCP process with pid: 7377 exits with
> status 0
>
> 2016-03-01 19:36:48: pid 244: LOG:  reload config files.
>
> 2016-03-01 19:36:48: pid 5370: LOG:  reloading config file
>
> 2016-03-01 19:37:00: pid 5369: LOG:  forked new pcp worker, pid=7433
> socket=7
>
> 2016-03-01 19:37:00: pid 5369: LOG:  PCP process with pid: 7433 exit with
> SUCCESS.
>
> 2016-03-01 19:37:00: pid 5369: LOG:  PCP process with pid: 7433 exits with
> status 0
>
> 2016-03-01 19:37:00: pid 244: LOG:  reload config files.
>
> 2016-03-01 19:37:03: pid 5370: LOG:  reloading config file
>

This is the normal life cycle of PCP command in pgpool-II 3.5. Previously
pgpool-II could only handle single PCP command at a time and all PCP
commands were handled by a single PCP child process which lives throughout
the lifespan of pgpool-II main process.
This is now changed in the latest version 3.5. Now for every PCP command
issued to pgpool a new PCP child process is forked and that process exits
after execution of that PCP command is complete. So the LOG contains the
messages about the creation and exit of a PCP worker process, which is
perfectly normal.


>
> Also, occasionally:
>
>
>
> 2016-03-01 19:36:18: pid 4497: FATAL:  Backend throw an error message
>
> 2016-03-01 19:36:18: pid 4497: DETAIL:  Exiting current session because of
> an error from backend
>
> 2016-03-01 19:36:18: pid 4497: HINT:  BACKEND Error: "function
> pgpool_regclass(unknown) does not exist"
>

This error message suggests that pgpool_regclass extension is not installed
on the PostgreSQL backend.
http://www.pgpool.net/mediawiki/index.php/FAQ#Why_do_I_need_to_install_pgpool_regclass.3F

Regards
Muhammad Usama


>
> This happened six times during the five-minute pgbench test.
>
>
>
> I am running with:
>
>
>
> num_init_children = 1000
>
>                                    # Number of pools
>
>                                    # (change requires restart)
>
> max_pool = 1
>
>                                    # Number of connections per pool
>
>                                    # (change requires restart)
>
> listen_backlog_multiplier = 3
>
> serialize_accept = on
>
> child_life_time = 0
>
>
>
> Is this a problem with the pcp worker getting overwhelmed?
>
>
>
> Looking at the new metrics on show pool_nodes I see that reads are being
> distributed.
>
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20160302/0a6fa93f/attachment.html>


More information about the pgpool-general mailing list