[Devel] mysql module failed to reconnect after mysql restart
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Sat Jan 14 00:26:49 CET 2006
Hi Raymond,
it seams that the new versions of mysql server does not enable by
default the reconnection. This is mandatory in order for the query
re-triggering to work in case of disconnection error. I will apply a
small patch based on Norm's info.
regards,
bogdan
Raymond Chen wrote:
>Hi all,
>
>I am using openser 1.0.0 and mysql 5.0.16. I browsed through the mysql
>module, there is no reconnection flag set in mysql_real_connect (did I
>missed anything?), only in submit_query function in dbase.c, auto-reconnect
>should happen when fail to execute a query because of mysql connection lost.
>And that part of the code doesn't seem to work for me. I have tried to
>toggle the auto-reconnect to 0 or 1 in db_mod.c but nothing change.
>
>So do I need to insert the reconnection flag for this to work?
>
>Thanks
>
>Ray
>
>-----Original Message-----
>From: devel-bounces at openser.org [mailto:devel-bounces at openser.org] On Behalf
>Of Dan Pascu
>Sent: Friday, January 13, 2006 1:33 PM
>To: devel at openser.org
>Subject: Re: [Devel] mysql module failed to reconnect after mysql restart
>
>On Friday 13 January 2006 21:18, Norman Brandinger wrote:
>
>
>>Hi Daniel / Raymond
>>
>>Note that upon connection, mysql_real_connect() sets the reconnect flag
>>(part of the MYSQL structure) to a value of 1 in versions of the API
>>older than 5.0.3, or 0 in newer versions. A value of 1 for this flag
>>indicates that if a statement cannot be performed because of a lost
>>connection, to try reconnecting to the server before giving up. As of
>>MySQL 5.0.13, you can use the MYSQL_OPT_RECONNECT option to
>>mysql_options() to control reconnection behavior.
>>
>>I have tested the following code (note that only the important pieces
>>are listed below) and my application was able to automatically
>>reconnect to MySQL. The example below uses BOTH the
>>"MYSQL_OPT_RECONNECT" and the "conn->reconnect = 1" forms to set the
>>reconnect flag. As memory serves, "MYSQL_OPT_RECONNECT" didn't work
>>for me.
>>
>>
>
>Even though the documentation says that you should call mysql_options
>before mysql_real_connect, when setting MYSQL_OPT_RECONNECT you MUST do
>so after the connection has been successfully established.
>
>This is true as late as 5.0.16.
>
>anyway setting conn->reconnect = 1 seems much simpler and less tricky.
>with MYSQL_OPT_RECONNECT, you have to actually make sure you have that
>symbol defined, as it was only introduced in 5.0.13 and the code needs to
>work with all versions of the mysql client lib.
>
>
>
More information about the Devel
mailing list