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

Tatsuo Ishii ishii at postgresql.org
Thu Mar 3 18:07:18 JST 2016


Usama,

Can you please add this to our FAQ?  I bet we will have similar
questions over and over in the future. Registering this to FAQ saves
both users and developers time a lot.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp

> 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
>>
>>


More information about the pgpool-general mailing list