[Users] Problem with SQL queries in 1.1.0?
Federico Giannici
giannici at neomedia.it
Mon Aug 28 12:34:33 CEST 2006
Klaus Darilion wrote:
> Hi Federico!
>
> Can you please make a patch and submit it at the bug tracker on
> sourceforge?
I don't know enough of the internals of the OpenSER sql connections
handling to implement it.
Moreover, as I said earlier, I solved the problem upgranding the MySQL
client library to a newer version.
Maybe, it could be useful to write somewhere that automatic
reconnections under MySQL work only with version >= 5.0.19 or 5.1.8.
Bye.
> Federico Giannici wrote:
>> I have found that now the correct way to set the reconnection in MySQL
>> is to use the mysql_options() function. Here it is the description of
>> the MYSQL_OPT_RECONNECT option: "Enable or disable automatic
>> reconnection to the server if the connection is found to have been
>> lost. Reconnect has been off by default since MySQL 5.0.3; this option
>> is new in 5.0.13 and provides a way to set reconnection behavior
>> explicitly.".
>>
>> So I replaced the "ptr->con->reconnect = 1;" instruction in
>> "mysql/my_con.c" with the following lines BEFORE the call to
>> mysql_real_connect():
>>
>> my_bool reconnect;
>> reconnect=1;
>> mysql_options(ptr->con,MYSQL_OPT_RECONNECT,(char*)&reconnect);
>>
>> Well, it continues to DON'T work, but the behavior changed: it no
>> longer fails with error 0 (?). Now it fails with error 2013 and then
>> 2006:
>>
>> Aug 26 17:38:53 eowyn OpenSER[10042]: submit_query: errno code is 2013
>> Aug 26 17:38:53 eowyn OpenSER[10042]: submit_query: errno code is 2006
>> Aug 26 17:38:53 eowyn OpenSER[10042]: submit_query: errno code is 2006
>> Aug 26 17:38:53 eowyn OpenSER[10042]: submit_query: MySQL server has
>> gone away
>> Aug 26 17:38:53 eowyn OpenSER[10042]: db_insert: Error while
>> submitting query
>> Aug 26 17:38:53 eowyn OpenSER[10042]: db_insert_ucontact(): Error
>> while inserting contact
>> Aug 26 17:38:53 eowyn OpenSER[10042]: ERROR:usrloc:insert_ucontact:
>> failed to insert in database
>>
>> Moreover, this time NO connection to the MySQL is actually done
>> (previously a connection was done, but without any query).
>>
>> In conclusion, it appears to me that the reconnections under MySQL are
>> a great mess, and they probably depend on the actual version of client
>> and server used.
>>
>> So, I suggest to don't depend on them. On the submit_query() function,
>> after the 3 attempts, if the error is still CR_SERVER_GONE_ERROR or
>> CR_SERVER_LOST, we should close the connection and try to reopen it.
>>
>> What do you think?
>>
>> Bye.
>>
>>
>>
>> Federico Giannici wrote:
>>> Any news on this problem?
>>>
>>> Today I found that the problem occurs even when MySQL is NOT
>>> restarted. Here it is example of a query that seems to fail but
>>> without an error code (no previous error 2013):
>>>
>>> Aug 23 16:36:58 eowyn OpenSER[28950]: submit_query: errno code is 0
>>> Aug 23 16:36:58 eowyn OpenSER[28950]: submit_query:
>>> Aug 23 16:36:58 eowyn OpenSER[28950]: db_query: Error while
>>> submitting query
>>>
>>> As said before, a new connection is done to the MySQL server, but no
>>> query is executed and the connection is immediately closed (instead
>>> of keeping it open).
>>>
>>>
>>> Bye.
>>>
>>>
>>> Federico Giannici wrote:
>>>> Bogdan-Andrei Iancu wrote:
>>>>> Federico Giannici wrote:
>>>>>
>>>>>> Aug 22 15:50:34 eowyn OpenSER[16778]: submit_query:
>>>>>> Aug 22 15:50:34 eowyn OpenSER[16778]: db_query: Error while
>>>>>> submitting query
>>>>>
>>>>> can you check on the mysql server if the query was performed or
>>>>> not? because the strange part is that submit_query returns a non
>>>>> zero value but the mysql_error reports no error...
>>>>
>>>> After the SQL server is restarted then every time a query is done by
>>>> OpenSER a new connection is opened (and then closed) ma the query is
>>>> NOT executed.
>>>>
>>>> Here it is an example:
>>>>
>>>> 26 Connect ser at eowyn.neomedia.it on ser
>>>> 26 Query SET NAMES latin1
>>>> 26 Quit
>>>>
>>>>
>>>> Bye.
>>>>
>>>
>>>
>>
>>
>
--
___________________________________________________
__
|- giannici at neomedia.it
|ederico Giannici http://www.neomedia.it
___________________________________________________
More information about the Users
mailing list