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