[pgpool-general: 862] Re: Error with pgpoolAdmin-3.2

Lazáro Rubén García Martínez lgarciam at vnz.uci.cu
Mon Aug 6 04:33:20 JST 2012


Tatsuo thank you very much for your answer.

I going to explain the problem more clearly:

1. If I start up pgpool from init script file and then stop pgpool from pgpoolAdmin the apache is not stoped.

2. It only happens when I start pgpool from pgpoolAdmin and stop pgpool from pgpoolAdmin too, and watchdog functionality is running. The most important behavior in it is, if watchdog is not running, when I stop pgpool from pgpoolAdmin the apache is not stopped, but when watchdog is running the apache is stopped. The only way of stopping apache service, is when pgpool is started from pgpoolAdmin and I stop pgpool from pgpoolAdmin or from pgpool init script.

3. Another abnormal behavior. If pgpool is started from pgpoolAdmin and then the apache service is stopped, the pgpool process is stopped too.

Remember:

the apache server is running under user apache.

The pgpool's executable file has been configured like this:

chown root /opt/pgpool/bin/pgpool
chmod 4755 /opt/pgpool/bin/pgpool

This is the output of strace and the apaches processes id go from 13214 to 13222, in this output these process are never killed.

I appreciate any help for solving this strange behavior because I do not know what's happening.

Regards.


Process 13225 attached - interrupt to quit
select(7, [6], NULL, NULL, {200, 931249}) = ? ERESTARTNOHAND (To be restarted)
--- SIGQUIT (Quit) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, ~[QUIT ILL TRAP ABRT BUS FPE SEGV ALRM TERM CONT SYS RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP ABRT BUS FPE SEGV CONT SYS RTMIN RT_1], ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], 8) = 0
time(NULL)                              = 1344191714
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=224, ...}) = 0
write(2, "2012-08-05 14:05:14 LOG:   pid 1"..., 74) = 74
rt_sigprocmask(SIG_SETMASK, ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], NULL, 8) = 0
kill(13322, SIGQUIT)                    = 0
kill(13231, SIGQUIT)                    = 0
kill(13232, SIGQUIT)                    = 0
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP ABRT BUS FPE SEGV CONT SYS RTMIN RT_1], ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], 8) = 0
time(NULL)                              = 1344191714
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=224, ...}) = 0
write(2, "2012-08-05 14:05:14 LOG:   pid 1"..., 58) = 58
rt_sigprocmask(SIG_SETMASK, ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], NULL, 8) = 0
kill(13229, SIGQUIT)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP ABRT BUS FPE SEGV CONT SYS RTMIN RT_1], NULL, 8) = 0
write(7, "\0", 1)                       = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
sigreturn()                             = ? (mask now [])
wait4(-1, NULL, 0, NULL)                = 13231
wait4(-1, NULL, 0, NULL)                = 13232
wait4(-1, NULL, 0, NULL)                = 13322
wait4(-1, NULL, 0, NULL)                = 13228
--- SIGQUIT (Quit) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP ABRT BUS FPE SEGV CONT SYS RTMIN RT_1], NULL, 8) = 0
write(7, "\0", 1)                       = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
sigreturn()                             = ? (mask now [QUIT])
rt_sigprocmask(SIG_SETMASK, ~[QUIT ILL TRAP ABRT BUS FPE SEGV ALRM TERM CONT SYS RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP ABRT BUS FPE SEGV CONT SYS RTMIN RT_1], ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], 8) = 0
time(NULL)                              = 1344191716
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=224, ...}) = 0
write(2, "2012-08-05 14:05:16 LOG:   pid 1"..., 74) = 74
rt_sigprocmask(SIG_SETMASK, ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], NULL, 8) = 0
kill(13322, SIGQUIT)                    = -1 ESRCH (No such process)
kill(13231, SIGQUIT)                    = -1 ESRCH (No such process)
kill(13232, SIGQUIT)                    = -1 ESRCH (No such process)
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP ABRT BUS FPE SEGV CONT SYS RTMIN RT_1], ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], 8) = 0
time(NULL)                              = 1344191716
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=224, ...}) = 0
write(2, "2012-08-05 14:05:16 LOG:   pid 1"..., 58) = 58
rt_sigprocmask(SIG_SETMASK, ~[QUIT ILL TRAP ABRT BUS FPE KILL SEGV ALRM TERM CONT STOP SYS RTMIN RT_1], NULL, 8) = 0
kill(13229, SIGQUIT)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, NULL, 0, NULL)                = 13229
wait4(-1, NULL, 0, NULL)                = -1 ECHILD (No child processes)
unlink("/tmp/.s.PGSQL.9999")            = 0
unlink("/tmp/.s.PGSQL.9898")            = 0
unlink("/var/run/pgpool/pgpool.pid")    = 0
open("/var/log/pgpool/pgpool_status", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 10
fstat64(10, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xaf9be000
write(10, "\2\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
close(10)                               = 0
munmap(0xaf9be000, 4096)                = 0
shmdt(0xb03c0000)                       = 0
shmctl(11370528, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11370528, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb03c1000)                       = 0
shmctl(11337759, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11337759, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb03ca000)                       = 0
shmctl(11304990, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11304990, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb03cb000)                       = 0
shmctl(11272221, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11272221, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb2fcb000)                       = 0
shmctl(11239452, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11239452, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb37cc000)                       = 0
shmctl(11206683, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11206683, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb37cd000)                       = 0
shmctl(11173914, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11173914, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb37ce000)                       = 0
shmctl(11141145, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11141145, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb77ce000)                       = 0
shmctl(11108376, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11108376, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb77cf000)                       = 0
shmctl(11075607, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11075607, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb77d0000)                       = 0
shmctl(11042838, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11042838, IPC_64|IPC_RMID, 0)    = 0
shmdt(0xb77d1000)                       = 0
shmctl(11010069, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(11010069, IPC_64|IPC_RMID, 0)    = 0
semctl(2785327, 0, IPC_64|IPC_STAT, 0xbf8dc498) = 0
semctl(2785327, 0, IPC_64|IPC_RMID, 0xbf8dc498) = 0
shmdt(0xb77d6000)                       = 0
shmctl(10977300, IPC_64|IPC_STAT, 0xbf8dc4ac) = 0
shmctl(10977300, IPC_64|IPC_RMID, 0)    = 0
exit_group(0)                           = ?
Process 13225 detached

_________________________________
From: Tatsuo Ishii [ishii at postgresql.org]
Sent: Sunday, August 05, 2012 5:28 AM
To: Lazáro Rubén García Martínez
Cc: pgpool-general at pgpool.net
Subject: Re: [pgpool-general: 857] Re: Error with pgpoolAdmin-3.2

Did not reproduce here.
Can you reproduce the problem reliably?
If so, please use strace command as root user:

strace -p pgpool_parent_process_id

This will show which pid pgpool sends SIGINT signal to. Below is my
example:

kill(14780, SIGINT)                     = 0
kill(14781, SIGINT)                     = 0
kill(14782, SIGINT)                     = 0
kill(14783, SIGINT)                     = 0
kill(14784, SIGINT)                     = 0
kill(14785, SIGINT)                     = 0
kill(14786, SIGINT)                     = 0
kill(14787, SIGINT)                     = 0
kill(14788, SIGINT)                     = 0
kill(14789, SIGINT)                     = 0
kill(14790, SIGINT)                     = 0
:
:

The first argument is the process id and you can check if pgpool
actually sends SIGINT signal to apache process. If so, then surely
pgpool must be blamed.

Note that SIGINT is used for fast or immediate shutdown. SIGTERM is
used for smart shutdown.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> It only happens if pgpool is started from pgpoolAdmin and then stoped from pgpolAdmin.
>
> Regards.
> ________________________________________
> From: pgpool-general-bounces at pgpool.net [pgpool-general-bounces at pgpool.net] On Behalf Of Lazáro Rubén García Martínez [lgarciam at vnz.uci.cu]
> Sent: Friday, August 03, 2012 12:34 PM
> To: pgpool-general at pgpool.net
> Subject: [pgpool-general: 856] Error with pgpoolAdmin-3.2
>
> Hello every one in the list. I have installed pgpoolAdmin-3.2.0, but I have a problem with this.
>
> I have installed pgpoolAdmin step by step like docs says.
>
> The pgpool binary has been configured like this for allowing apache user to start up pgpool:
>
> chown root /opt/pgpool/bin/pgpool
> chmod 4755 /opt/pgpool/bin/pgpool
>
> The problem is when I try to stop pgpool through pgpoolAdmin, the pgpool service is stoped but the apache service is stoped to and when I verify the status of the httpd service, It says that the service was interrupted but exist a pid file:
>
> /etc/init.d/httpd status
> httpd interrumpido pero existe un archivo pid
>
> The httpd.conf is configured like this:
>
> User apache
> Group apache
>
> Any help for solving this problem is welcome.
>
> Regards.
>
>
>
>
>
> Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
> http://www.antiterroristas.cu
> http://justiciaparaloscinco.wordpress.com
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general
>
> Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
> http://www.antiterroristas.cu
> http://justiciaparaloscinco.wordpress.com
>
> Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
> http://www.antiterroristas.cu
> http://justiciaparaloscinco.wordpress.com
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general

Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com

Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com


More information about the pgpool-general mailing list