Le vendredi 27 février 2009 18:37:33, Quanah Gibson-Mount a écrit :
--On Friday, February 27, 2009 3:43 PM +0100 Adrien Futschik
> Hello everyone,
> I also have to say that if I stop M3 & M4 and try to add entries to M1 &
> M2, I don't get the "CSN too old" messages and all entries a
> correctly !!!
> Is this because Multimaster is limited to 2-3 instances ? The reason why
> I am trying to build a 4-way master architecture is because I would like
> to be able to stop one server and perform a slapcat, even if one
> "physical" server is down...
N-Way means for any value of N. So 4 should work just fine. Are all 4 of
your servers tightly synchronized, time-wise? I.e., using ntp to make sure
their clocks all agree?
Principal Software Engineer
Zimbra :: the leader in open source messaging and collaboration
Considering that M1 & M3 are on the same server and therefore have exactly the
same time, if this was a time related problem, I should'nt get any "CSN too
old" messages between M1&M3 and M2&M4, should I ?
I have also noticed that when M1 gets a new entry and passes it to M2&M3&M4,
when M2&M3&M4 revieve it, they also pass it to M2&M3&M4 ! I don't
why this happends but it look's very much like this is what's happening,
because sometimes, M2 would have passed-it to M4, before M4 has actualy
revieved the add order from M1.
I therefore happend to notice that sometimes, entries send from M1 are
revieved in the wrong ordrer by other masters and therefore some entries may
be skipped !!!
Here is a example :
I add cn=M1client1 & cn=M1client2 on M1,
M1client1 & M1client2 are successuly replicated on M2&M4 but on M3, only
M1client2 is inserted and I am getting an "CSN too old" message for M1client1
I don't have the logfile here, I'll send extracts this monday.
I am also getting this messages from time to time :
=> bdb_idl_insert_key: c_put id failed: DB_LOCK_DEADLOCK: Locker killed to
resolve a deadlock (-30994)
=> bdb_dn2id_add 0x1e40: parent (ou=clients,o=edf,c=fr) insert failed: -30994
I guess this is because all 4 masters recieve entries that have the same
parent : ou=clients,o=edf,c=fr and that happends if two entries are "inserted"