[sr-dev] git:master: modules_k/presence Used affected_rows SQL statement
Anca Vamanu
anca.vamanu at 1and1.ro
Fri Mar 16 12:56:09 CET 2012
Hi Peter,
You were right. I am sorry, I have not tested with DB_ONLY mode, only
with this mode the problem showed up.
I have committed the fix now.
Regards,
Anca
On 03/16/2012 01:15 PM, Peter Dunkley wrote:
> Hi,
>
> Another, more likely, possibility is that somewhere after the first
> use_table and query on presentity but before the delete there is a
> function called that queries active_watchers (to find out what dialogs
> to send NOTIFYs on).
>
> Peter
>
> On Fri, 2012-03-16 at 10:46 +0000, Peter Dunkley wrote:
>> Hi Anca,
>>
>> I am now seeing a different problem with unPUBLISH. When I unPUBLISH
>> I get the errors:
>>
>> Mar 16 10:20:44 pd-laptop-linux kamailio[20117]: ERROR:
>> db_postgres [km_dbase.c:493]: invalid query, execution aborted
>> Mar 16 10:20:44 pd-laptop-linux kamailio[20117]: ERROR:
>> db_postgres [km_dbase.c:494]: driver error: PGRES_FATAL_ERROR,
>> ERROR: column "domain" does not exist#012LINE 1: delete from
>> active_watchers where domain='multifon.ru' AND
>> u...#012 ^#012
>> Mar 16 10:20:44 pd-laptop-linux kamailio[20117]: WARNING:
>> db_postgres [km_dbase.c:565]: unexpected result returned
>>
>>
>> As a test I put a use_table call at the top of the
>> presentity.c:update_presentity() function but that made no
>> difference. I then explicitly added use_table() calls before each DB
>> operation in presentity.c:update_presentity() and the problem went
>> away. I don't have time to look into it further but I suspect this
>> means there is some issue related how Kamailio pools the DB
>> connections meaning that (because this is a long function with lots
>> of queries) some other query (in this case on active_watchers)
>> happens on the connection in between the queries in this function.
>>
>> If that is what is happening than it makes the calls to
>> affected_rows() used in this function a bit suspect as well.
>> affected_rows() returns the rows affected by the last DB operation,
>> and it looks like it is entirely possible that this last operation
>> may not always be one that is in the same function.
>>
>> Regards,
>>
>> Peter
>>
>> On Thu, 2012-03-15 at 18:52 +0200, Anca Vamanu wrote:
>>> Hi Peter,
>>>
>>> I have fixed the issue with the unPublish.
>>>
>>> I have did another commit in the code : changed the sql query at delete
>>> in active_watchers to use the callid,to_tag,from_tag unique key.
>>>
>>> I also realised that for DB_ONLY mode an index on presentity_uri column
>>> is need, so I updated the database schema.
>>>
>>> Let us know the results of the performance tests.
>>>
>>> Regards,
>>> Anca
>>>
>>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org <mailto:sr-dev at lists.sip-router.org>
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>
> --
> Peter Dunkley
> Technical Director
> Crocodile RCS Ltd
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20120316/b414a52d/attachment-0001.htm>
More information about the sr-dev
mailing list