Full_Name: Philipp Klaus Version: 1.2.1 OS: Linux URL: http://www.internet.access.ch/openldap/ldap_multimaster.patch Submission from: (NULL) (195.112.64.100) OpenLDAP release 1.2.1 wasn't able to handle situations where multi servers must accept write statements and distribute them to all other servers (for failover capabilities in write commands too). A quick look at the code showed that for each change (add, delete, modify) command a record is written to the replica log file if a replica statement exists in the configuration file. I changed this so that the log file record is only written if the write command was NOT submitted by the replication user. This has the drawback that multi-level replication isn't possible anymore but this is of no value for me because the replication is only used for enabling high availability (clustering) on our site. All changes are ifdef'ed by _INA_MULTI_MASTER so compiling without the changes is still possible. I suggest including the patch with the (probably renamed) ifdefs in place so that the multi-master capabilities are a compile time option. All code is given to the open source community free of charge.
moved from Incoming to Software Enhancements
I applied my patch against OpenLDAP 1.2.3 and made new diffs which I put online under the following URL: http://www.internet.access.ch/openldap/ldap_patch-1.2.3_mm I had to change a few lines because the update of the modifytimestamp and modifiersname attributes aren't still in modify.c but in the corresponding file in the ldbm backend (why is the creator code in add.c and not in the ldbm backend too?). I haven't updated our production environment yet (never touch a running system) but as soon as I found the time to do a little testing on my development machine I will update the first few systems to see how the new version works under heavy load. Philipp
changed notes
changed state Open to Feedback
Applied updated patch to devel with a few minimal modifications plus configuration support (--enable-multimaster). Please test. TODO: update replication test to work in both single- and multi- master environments. Kurt
changed state Feedback to Test
Multimaster support breaks 'make test' in -devel. Please check if <URL:http://www.katalog.uninett.no/ldap/mm.patch> fixes it, and if multimaster support still works as you want it. Changes: - Don't do lastmod updates if the operation comes from the the updatedn user (op->o_ndn === be->be_update_ndn). - The lastmod test in add.c was misplaced. -- Hallvard
changed notes changed state Test to Closed
See devel codes.