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

Lazáro Rubén García Martínez lgarciam at vnz.uci.cu
Fri Aug 17 22:55:59 JST 2012


Tatsuo thank you very much for paying attention and the patch. Now it works as expected.

Regards.
________________________________________
From: Tatsuo Ishii [ishii at postgresql.org]
Sent: Friday, August 17, 2012 3:54 AM
To: Lazáro Rubén García Martínez
Cc: nagata at sraoss.co.jp; pgpool-general at pgpool.net
Subject: Re: [pgpool-general: 862] Re: Error with pgpoolAdmin-3.2

It turned out that it was bug with watchdog.  When watchdog exits, it
calls "kill(0,...)", which kills *all* processes within the process
group and apache is in the process group as well. As a result, apache
is killed by kill(0, ...);

Please try attached patch.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


> Yugo, I have installed a virtual machine and I have installed pgpool-II and pgpoolAdmin again.
>
> The httpd server has been installed from the yum, and it is running over apache group and apache user. The apache configuration is the default when it is installed.
>
> I am using Master Slave mode, Load Balance Mode, Health Check, Watchdog and Query Cache functionalities of pgpool.
>
> But when I start pgpool-II from pgpoolAdmin and then stop pgpool from pgpoolAdmin, the pgpool proceses are stoped but the httpd process are killed too.
>
> The strange behavior is, If the watchdog functionality is disabled the httpd service is not killed.
>
> Please I need very much your help.
>
> When you try this, the httpd service was not stoped?
>
> If it was not stoped, what configuration do you have in your httpd.conf file of apache server?. Is your apache server running under user apache, group apahe?
>
> Is there any configuration necessary in the Operating System?
>
> Thank you very much for your time.
> Regards.
>
> ________________________________________
> From: Yugo Nagata [nagata at sraoss.co.jp]
> Sent: Tuesday, August 07, 2012 1:25 AM
> To: Lazáro Rubén García Martínez
> Cc: Tatsuo Ishii; pgpool-general at pgpool.net
> Subject: Re: [pgpool-general: 862] Re: Error with pgpoolAdmin-3.2
>
> I tried it, but it did not reproduce.
>
> Can you stop the pgpool via pcp_stop_pgpool command successfully?
>
> On Sun, 5 Aug 2012 15:03:20 -0430
> Lazáro Rubén García Martínez <lgarciam at vnz.uci.cu> wrote:
>
>> 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
>> _______________________________________________
>> pgpool-general mailing list
>> pgpool-general at pgpool.net
>> http://www.pgpool.net/mailman/listinfo/pgpool-general
>
>
> --
> Yugo Nagata <nagata at sraoss.co.jp>
> SRA OSS, Inc. Japan
>
> 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

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