[sr-dev] git:master: modules_k/presence Used affected_rows SQL statement

Peter Dunkley peter.dunkley at crocodile-rcs.com
Fri Mar 16 12:15:36 CET 2012


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
> 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/d1412721/attachment.htm>


More information about the sr-dev mailing list