[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 sr-users mailing list