[Pgpool-hackers] pcp_proc_info not working in HEAD
Guillaume Lelarge
guillaume at lelarge.info
Sun Jul 25 05:40:37 UTC 2010
Le 25/07/2010 04:14, Tatsuo Ishii a écrit :
>> I was working on my patch when I noticed that pcp_proc_info doesn't work
>> anymore on HEAD. I mean on a vanilla HEAD (ie, without any patchs, clear
>> as it could come from CVS).
>>
>> See this example:
>>
>> guillaume at laptop:/opt/pgpool-head$ ps -ef | grep pgpool
>> 1000 11350 13641 0 17:25 pts/1 00:00:00 bin/pgpool -f
>> etc/pgpool.conf -n
>> 1000 11351 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11352 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11353 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11354 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11355 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11356 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11357 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11358 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11359 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11360 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11361 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11362 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11363 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11364 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11365 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11366 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11367 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11368 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11369 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11370 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11371 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11372 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11373 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11374 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11375 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11376 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11377 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11378 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11379 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11380 11350 0 17:25 pts/1 00:00:00 pgpool: wait for
>> connection request
>> 1000 11381 11350 0 17:25 pts/1 00:00:00 pgpool: guillaume
>> postgres [local] idle
>> 1000 11382 11350 0 17:25 pts/1 00:00:00 pgpool: guillaume b1
>> 127.0.0.1(37793) idle
>> 1000 11383 11350 0 17:25 pts/1 00:00:00 pgpool: PCP: wait for
>> connection request
>> 1000 11384 11350 0 17:25 pts/1 00:00:00 pgpool: worker process
>>
>> 1000 11728 14734 0 17:41 pts/2 00:00:00 grep --color=auto pgpool
>>
>> So, I have two psql connected to PostgreSQL via pgpool. Let's try to get
>> info from pid 11381 and 11382:
>>
>> guillaume at laptop:/opt/pgpool-head$ bin/pcp_proc_info 10 localhost 9898
>> postgres toto 11382
>> guillaume at laptop:/opt/pgpool-head$ bin/pcp_proc_info 10 localhost 9898
>> postgres toto 11381
>>
>> Nothing at all. That's already weird. If I look at all processes, I
>> finally found the pid:
>>
>> guillaume at laptop:/opt/pgpool-head$ bin/pcp_proc_info 10 localhost 9898
>> postgres toto 11351
>> b1 guillaume 1279985121 1279985142 3 0 1
>>
>> But if I look at my ps output, 11351 is waiting for a connection.
>>
>> I tried to figure what was going one, but failed. If anyone has any
>> ideas, I'm open to hear them :)
>>
>> PS: tried on V2_3_STABLE, works great.
>
> I suspect that in your build pgpool is not linked against shared
> memory staffs. The info pcp_proc_info looking into is placed on the
> shared_memory handled by pool_config.l. What does nm pool_config.o
> show? Mine is like below, which contains the reference to
> pool_shared_memory_create. How about yours?
>
> ]$ nm pool_config.o
> 00001154 b Lineno
> U _IO_getc
> U __errno_location
> U atof
> U atoi
> U atol
> 00005a45 t clear_host_entry
> U clearerr
> 00000004 d default_reset_query_list
> 0000593a T eval_logical
> U exit
> 00005700 t extract_string
> 00005980 t extract_string_tokens
> U fclose
> U ferror
> U fopen
> U fprintf
> U fread
> U free
> U fwrite
> U gethostname
> U getpid
> 00000b95 t input
> 00000040 b localhostname.0
> U malloc
> U memset
> U mypid
> 00005765 t parse_bool_with_len
> 00000004 C pool_config
> U pool_debug
> U pool_error
> 00001af1 T pool_get_config
> 0000165c T pool_init_config
> U pool_log
> U pool_memset_system_db_info
> U pool_query_cache_table_exists
> U pool_shared_memory_create <-- this one
> [snip]
$ nm pool_config.o | grep pool_shared_memory_create
U pool_shared_memory_create
So I suppose it is. I attached the complete output.
--
Guillaume
http://www.postgresql.fr
http://dalibo.com
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: nm_pool_config.o_output
URL: <http://pgfoundry.org/pipermail/pgpool-hackers/attachments/20100725/a40414cc/attachment.ksh>
More information about the Pgpool-hackers
mailing list