Re: Bug #7634 Updated: mysql_pconnect() + lock tables can hang server
| From: | Markus Fischer | Date: | Wed, 21 Nov 2001 01:21:05 +0000 |
| Subject: | Re: Bug #7634 Updated: mysql_pconnect() + lock tables can hang server | ||
| References: | 1 2 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-71154@lists.php.net to get a copy of this message | ||
Does this change if you explicetly close the connection?
On Wed, Nov 21, 2001 at 01:10:51AM -0000, torben@php.net wrote :
> ID: 7634
> Updated by: torben
> Reported By: torben@php.net
> Old Status: Feedback
> Status: Open
> Bug Type: MySQL related
> Operating System: Mandrake 7.0
> PHP Version: 4.0 Latest CVS (03/11/2000)
> New Comment:
>
> Nope, still happens. This is on Debian woody, PHP 4.1.0RC3
> (haven't tried on the win32 version you posted a link to,
> but whatever).
>
> Same script.
>
>
> Previous Comments:
> ------------------------------------------------------------------------
>
> [2001-11-20 19:46:00] mfischer@php.net
>
> Can you try latest RC and see if the problem persists
>
> http://phpuk.org/~james/php-4.1.0RC3-win32.zip
>
> Feedback.
>
> ------------------------------------------------------------------------
>
> [2000-11-03 21:08:24] torben@php.net
>
> I've heard about this from a couple of sources and been
> looking for answers, but haven't found anything
> definitive. I don't even know if it's solvable. However,
> when using persistent connections and LOCK TABLES, if
> for any reason the UNLOCK TABLES never gets executed,
> the server ends up hanging while it waits for the lock
> to get released.
>
> This is reproduceable for me on every version of PHP I've
> tried. Example script:
>
>
> <?php /* -*- mode: c++; minor-mode: font -*- */
> error_reporting(E_ALL);
>
> $dbh = mysql_pconnect($host, $user, $pass);
>
> /* Just to test the connection. */
> if ($res = mysql_db_query($db, 'show tables', $dbh)) {
> while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
> echo $row["Tables_in_$db"] . "<br>\n";
> }
> }
>
> echo "<hr>\n";
> $table = 'category';
> echo "Locking table '$table' (if the script blocks here, then the lock never got
> released)...<br>\n";
> flush();
> if ($res = mysql_db_query('chaps', "lock tables $table write", $dbh)) {
> echo "OK; locked.<br>\n";
> } else {
> echo "failed; could not lock.<br>\n";
> }
> flush();
> //$res = mysql_db_query('chaps', "unlock tables", $dbh)
> ?>
>
> Is this just me?
>
> ------------------------------------------------------------------------
>
>
>
> Edit this bug report at http://bugs.php.net/?id=7634&edit=1
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net
> For additional commands, e-mail: php-dev-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
--
Markus Fischer, http://guru.josefine.at/~mfischer/
EMail: mfischer@guru.josefine.at
PGP Public Key: http://guru.josefine.at/~mfischer/C2272BD0.asc
PGP Fingerprint: D3B0 DD4F E12B F911 3CE1 C2B5 D674 B445 C227 2BD0
-All your scripts are belong to Zend-