Issue 170 - Patch for enabling Multi Master servers
Summary: Patch for enabling Multi Master servers
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1999-05-20 08:54 UTC by pklaus@pylonsoft.ch
Modified: 2014-08-01 21:07 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description pklaus@pylonsoft.ch 1999-05-20 08:54:49 UTC
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.

Comment 1 Kurt Zeilenga 1999-05-22 00:07:58 UTC
moved from Incoming to Software Enhancements
Comment 2 pklaus@pylonsoft.ch 1999-06-08 06:22:13 UTC
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


Comment 3 Kurt Zeilenga 1999-06-13 19:36:15 UTC
changed notes
Comment 4 Kurt Zeilenga 1999-06-13 19:36:16 UTC
changed state Open to Feedback
Comment 5 Kurt Zeilenga 1999-08-03 20:27:56 UTC
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
Comment 6 Kurt Zeilenga 1999-08-03 20:28:04 UTC
changed state Feedback to Test
Comment 7 Hallvard Furuseth 1999-09-06 01:46:33 UTC
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
Comment 8 Kurt Zeilenga 2000-06-11 13:59:25 UTC
changed notes
changed state Test to Closed
Comment 9 OpenLDAP project 2014-08-01 21:07:00 UTC
See devel codes.