oncurrence problem with PEAR:MDB2 + msqli driver in forked CLI environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

I have a found a very strange and big "concurrence" problem after develop a
CLI tool which  parallelizes  data processing  by using "pcntrl_fork", ( If
we run the same executions sequentially the result is correct)

The trouble appears when some of the child processes die while trying to
access to DB , after child dies, parent process always get status  code of
1 or 255..

We can reproduce problem but error messages are not the same always ( I
attach 3 error log examples)

It seems like a previously stablished connection exists to the bd before
forking and child processes are working all over it.

Anybody can say me  how can I force child processes to make their own new
connections  to de BBDD ?


Lots of Thanks!!

*EXAMPLE1** ( child status =1)*
*
-----------------------------------------------------------------------------
**
*

*Parent process log*

Thu Jul  4 04:23:49 2013,691 [2820] INFO console - root SCHED: *Exited
Child PID:2823:  STATUS CODE: 1*: SIGN: 0
Thu Jul  4 04:23:49 2013,691 [2820] ERROR console - SCHED:ERROR:Success


*Child process log ( process who is dying)*


Thu-04/July/2013-04:23:49::[2823] PHP ERROR [2] : mysqli_query(): Protocol
error. Server sent false length. Expected 12
Thu-04/July/2013-04:23:49::[2823] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 805
Thu-04/July/2013-04:23:49::[2823] PHP ERROR [2] : Packets out of order.
Expected 3 received 67. Packet size=3158064
Thu-04/July/2013-04:23:49::[2823] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 805
Thu-04/July/2013-04:23:49::[2823] PHP ERROR [2] : mysqli_query(): MySQL
server has gone away
Thu-04/July/2013-04:23:49::[2823] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 805

<die>



*EXAMPLE2 ( child status =1)*
*
-----------------------------------------------------------------------------
*
*
*
*Parent process log *

Thu Jul  4 05:50:58 2013,067 [4969] INFO console - root SCHED: *Exited
Child PID:4973: STATUS CODE: 1*: SIGN: 0
Thu Jul  4 05:50:58 2013,068 [4969] ERROR console - SCHED:ERROR:Success


*Child process log(**process who is dying)*

Thu-04/July/2013-05:50:57::[4973] PHP ERROR [2] : mysqli_query(): Premature
end of data (mysqlnd_wireprotocol.c:958)
Thu-04/July/2013-05:50:57::[4973] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 805
Thu-04/July/2013-05:50:57::[4973] PHP ERROR [2] : mysqli_query(): Result
set field packet 27 bytes shorter than expected
Thu-04/July/2013-05:50:57::[4973] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 805

<die>



*EXAMPLE3  ( child output status=255)*
*
-----------------------------------------------------------------------------
*

*Parent process log *
*
*

Thu Jul  4 06:08:41 2013,591 [5690] INFO console - root SCHED: *Exited
Child PID:5696: STATUS CODE: 255: SIGN: 0*
Thu Jul  4 06:08:41 2013,592 [5690] ERROR console - SCHED:ERROR:Success


*Child process log (**process who is dying)*

Thu-04/July/2013-06:08:41::[5696] PHP ERROR [2] : mysqli_query(): Error
reading result set's header
Thu-04/July/2013-06:08:41::[5696] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 805
Thu-04/July/2013-06:08:41::[5696] PHP ERROR [2] : mysqli_num_rows() expects
parameter 1 to be mysqli_result, boolean given
Thu-04/July/2013-06:08:41::[5696] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 1646
Thu-04/July/2013-06:08:41::[5696] PEAR ERROR: MDB2 Error: insufficient data
supplied
Thu-04/July/2013-06:08:41::[5696] PHP ERROR [2] : mysqli_fetch_assoc()
expects parameter 1 to be mysqli_result, boolean given
Thu-04/July/2013-06:08:41::[5696] PHP ERROR on file
/usr/share/php/MDB2/Driver/mysqli.php, line 1414
Thu-04/July/2013-06:08:41::[5696] PEAR ERROR: MDB2 Error: insufficient data
supplied
Thu-04/July/2013-06:08:41::[5696] PHP ERROR [2] : array_keys() expects
parameter 1 to be array, object given
Thu-04/July/2013-06:08:41::[5696] PHP ERROR on file
/usr/share/php/DB/DataObject.php, line 569
Thu-04/July/2013-06:08:41::[5696] PHP ERROR [2] : array_flip() expects
parameter 1 to be array, null given
Thu-04/July/2013-06:08:41::[5696] PHP ERROR on file
/usr/share/php/DB/DataObject.php, line 569

<die>



-- 

Att

Toni Moreno

699706656



*Si no quieres perderte en el olvido tan pronto como estés muerto y
corrompido, *

*escribe cosas dignas de leerse, o haz cosas dignas de escribirse.*



*Benjamin Franklin*

[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux