Jan Wieck JanWieck
Fri Feb 18 16:03:55 PST 2005
On 2/18/2005 10:14 AM, ?ncor Gonz?lez Sosa wrote:
> El Viernes, 18 de Febrero de 2005 13:00, Jan Wieck escribi?:
>> On 2/18/2005 4:10 AM, ?ncor Gonz?lez Sosa wrote:
>> > I mean, Table1 in Host1 is a master of Table1 in Host2 and Table1 in
>> > Host2 is a master of Table1 in Host1. Of course, there is not conflict
>> > resolution at all but, at least, there are not infinite loops of updates
>> > (if unnecessary updates are skipped) unless when a same record is updated
>> > in both databases "simultaneously". In fact, it's not a real multimaster
>> > system because there are a lot of situations that must be explicitly
>> > avoided by the applications using the databases but...
>> >
>> > Would it work? Would it explode?
>>
>> I think it could have some very "funny" side effects. Suppose node1
>> updates a value to A and node 2 does simultaneously update it to B. Now
>> both replicate their changes so node1 ends up with B and node2 ends up
>> with A. I want to see the faces of the users ;-)
> 
> In fact, I suposse this situation would cause a infinite loop. After this 
> change, the A->B change of node2 would be replicated in node1 and the B->A 
> change in node1 would be replicated in node1 and start again and again and 
> again...

Not if the log trigger is aware of the fact that it is fired by a 
replication session owned by the slon daemon. The trigger that prevents 
updates of replicated tables on subscribers is in the same module and 
that IS aware of this.

> 
> Those are the reasons for which I said that the applications should explicitly 
> avoid a lot of conflict situations. But, aside those conflict conditions... 
> would it work? There is another drawback aside the lack of conflict 
> resolution?

It'd be an awfull lot of design changes. The entire switchover and 
failover logic is based on the fact that there is only one origin at any 
given time. And I will definitely not work on that. I have to focus 
entirely on a real multi master cluster solution.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck at Yahoo.com #


More information about the Slony1-general mailing list