Hi fellow monks,
I use DBI to connect to a MySQL database on a remote server (Linux). The main Perl application forks a couple of child processes which all do queries on the database. Each process opens its own database connection on startup.
The problem is that the main process (which forks three child processes at startup and when needed) suffers a lot of "DBI lost connection" errors. The child processes do the same, but never produce the same error:
11-06-2003 13:31:13: [ERROR=5] DBD::mysql::st execute failed: Lost con
+nection to MySQL server during query at ... line 147.
11-06-2003 13:32:00: [ERROR=5] DBD::mysql::st execute failed: Lost con
+nection to MySQL server during query at ... line 147.
11-06-2003 13:32:52: [ERROR=5] DBD::mysql::st execute failed: Lost con
+nection to MySQL server during query at ... line 147.
11-06-2003 13:36:45: [ERROR=5] DBD::mysql::st execute failed: Lost con
+nection to MySQL server during query at ... line 147.
11-06-2003 13:41:15: [ERROR=5] DBD::mysql::st execute failed: Lost con
+nection to MySQL server during query at ... line 147.
11-06-2003 13:41:30: [ERROR=5] DBD::mysql::db do failed: Lost connecti
+on to MySQL server during query at ... line 194.
11-06-2003 13:47:14: [ERROR=5] DBD::mysql::st execute failed: Lost con
+nection to MySQL server during query at ... line 147.
Why is this happening only on the main Perl program and not in the child processes? They all use the same Database package. Can it have something to do with the fact this process forks of child processes and this causes the Database connection to be closed/lost?
Any input is highly appreciated.
TIA, Marcel
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|