On 2012-08-30 at 13:32, Daniel-Constantin Mierla wrote: > Then, have in mind that there are several operations, one after the other: > - update - which do update to all write db servers > - test affected rows (which is always working on last write (update) > connection) > - insert if affected rows is 0 > > So it is not an atomic operation, like > updated_and_if_affected_rows_is_0_then_insert. All this layer is done in > usrloc, in sequential steps, working fine for one server, but not for > multiple nodes.
After reading this mail and usrloc/ucontact.c I have a much better idea of how this works, thanks! > I am not sure what it will take to implement this kind of operation > inside the database drivers, then it may work. TBased on quick thoughts, > the code is there, just that has to be structured for each db connector > and exported via db api and propagated to db_cluster. This would be great. > You have to do cross replication at database layer and use db_cluster as > read/write for failover access (e.g., try read/write on db1 and if > fails, try the other one). Yes, this is what we'll probably end up with. Thanks for all your answers! -- Øyvind Kolbu _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users