IBM Support

Disabling replication conflict resolution

Question & Answer


Question

This document provides appropriate methods for disabling the replication conflict resolution.

Cause

If the same ldap entry gets updated simultaneously on different write masters in replication topology, it will result in replication conflict. TDS ldap server by default, will try to resolve the conflict by using the entry modification timestamp comparison.

In replicated topology the consumer server is responsible for detecting and resolving the conflicts. Hence the change to disable replication conflict resolution, must be applied to each consumer server in the replicated topology.

In all peer(master) topology this is applicable to each ldap server, because each ldap server plays the role of consumer in addition to supplier role.

Answer


Please use the links below to find the TDS version specific instructions.

Version 6.4, 6.3.1, 6.3, 6.2 or 6.1
Version 6.0
IBM Security Directory Server 6.4, 6.3.1, Tivoli Directory Server 6.3, 6.2 or 6.1
Add or update the "Default credentials" entry into the configuration (ibmslapd.conf):

dn: cn=master server, cn=configuration
cn: master server
ibm-slapdNoReplConflictResolution: true
objectclass: ibm-slapdReplication
objectclass: ibm-slapdconfigentry
objectclass: top

The directory server (ibmslapd) must be restarted for this value to be effective.



Notes:
1. In the ldif above, ibm-slapdNoReplConflictResolution attribute belongs to ibm-slapdReplication objectclass. Hence both these are required.
2. ibm-slapdNoReplConflictResolution can not be added to a supplier entry which consists of ibm-slapdsupplier objectclass.
3. The environment variable used in V6.0 "IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION" should not be used with V6.3, V6.2 or V6.1. This has no effect on replication conflict resolution.

Command line method to disable replication conflict resolution:
Case a. If the "Default credentials" entry do not exists in configuration (ibmslapd.conf)
  • Put the following 6 lines into an ldif file called disReplConRes.ldif

  • dn: cn=master server, cn=configuration
    cn: master server
    ibm-slapdNoReplConflictResolution: true
    objectclass: ibm-slapdReplication
    objectclass: ibm-slapdconfigentry
    objectclass: top
  • Then run the idsldapadd command to add it to the TDS ldap server's configuration.

  • idsldapadd -D <adminDN> -w <adminpw> -i disReplConRes.ldif
  • Restart the ldap server (ibmslapd).

Case b. If the "Default credentials" entry exists in configuration (ibmslapd.conf)
  • Put the following 4 lines into an ldif file called disReplConRes.ldif

  • dn: cn=master server, cn=configuration
    changetype: modify
    add: ibm-slapdNoReplConflictResolution
    ibm-slapdNoReplConflictResolution: true
  • Then run the idsldapmodify command to update the TDS ldap server's configuration.

  • idsldapmodify -D <adminDN> -w <adminpw> -i disReplConRes.ldif
  • Restart the ldap server (ibmslapd).

Web Administration Tool method to disable replication conflict resolution:
  • Make sure ibmslapd and ibmdiradm processes for the instance are running.
  • Login to TDS V6.3, V6.2 or V6.1 Web Administration Tool and connect to ldap server of same version.
  • Click on "Replication Management" and then on "Manage replication properties".
  • In the resulting "Manage replication properties" panel, from "Supplier information:", select "Default credentials and referral" then click "Edit" button
  • From the resulting "Default credentials and referral" panel change "Replication conflict resolution:" value to "FALSE" and Click "OK" button. Then again "OK" button in "Manage replication properties" panel.
  • Goto "Server administration" -> "Start/stop/restart server" panel and click "Restart" button.

Verifying if the replication conflict resolution is disabled:
  • Instance's ibmslapd.log file shows the following message during start up.

  • GLPRPL136I Replication conflict resolution mode is set to false.

Return to top of page

IBM Tivoli Directory Server 6.0
Define an environment variable IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION either on the shell or in the ibmslapd.conf file of the ITDS 6.0 instance.

A value must be assigned to the environment variable IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION, for disabling replication conflict resolution effectively.

This value can be set either using the configuration file, from command prompt:

1) Using the configuration file (Recommended method):

Add IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION line to the ibmslapd.conf file of 6.0 instance.

This needs to be added to the entry: "dn: cn=Front End,cn=Configuration".

After adding this environment variable the "dn: cn=FrontEnd,cn=Configuration" stanza in the ibmslapd.conf looks like :



dn: cn=Front End, cn=Configuration
cn: Front End
ibm-slapdACLCache: TRUE
ibm-slapdACLCacheSize: 25000
ibm-slapdEntryCacheSize: 25000
ibm-slapdFilterCacheBypassLimit: 100
ibm-slapdFilterCacheSize: 25000
ibm-slapdIdleTimeOut: 300
ibm-slapdSetenv: DB2CODEPAGE=1208
ibm-slapdSetenv: IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION=true
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdFrontEnd

The directory server (ibmslapd) must be restarted for this value to be effective.

Command line method to disable replication conflict resolution:
  • Put the following 4 lines into an ldif file called disReplConRes.ldif
dn: cn=Front End, cn=Configuration
changetype: modify
add: ibm-slapdSetenv
ibm-slapdSetenv: IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION=true
  • Then run the idsldapmodify command to update the TDS ldap server's configuration.

  • idsldapmodify -D <adminDN> -w <adminpw> -i disReplConRes.ldif
  • Restart the ldap server (ibmslapd).

Web Administration Tool method to disable replication conflict resolution:
  • Make sure ibmslapd and ibmdiradm processes for the instance are running.
  • Login to TDS V6.0 Web Administration Tool and connect to TDS V6.0 ldap server.
  • Click on "Directory management" and then on "Manage entries".
  • In the resulting "Manage entries" panel, select "cn=configuration" row and click "Expand" button.
  • In the resulting panel, select "cn=Front End" row and click "Edit attributes..." button.
  • In the resulting "Edit attributes" panel, click on "Optional attributes" tab.
  • In the resulting panel, click "Multiple values" button next to "ibm-slapdSetenv" attribute.
  • In the resulting "Enter multiple values" panel, enter the following value in to "ibm-slapdSetenv" text box:
    IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION=true
    Click "Add" button next to it and click "Ok" button.
  • In the resulting "Edit attributes" panel, click "Ok" button
  • Goto "Server administration" -> "Start/stop/restart server" panel and click "Restart" button.

2) From the command prompt via environment variable:

For AIX, HP-UX, Linux and Solaris (ksh shell):
export IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION=true

For Windows:
set IBMSLAPD_REPL_NO_CONFLICT_RESOLUTION=true

The directory server (ibmslapd) must be restarted from the same shell where the above environment variable was set, for this value to be effective.

Return to top of page

[{"Product":{"code":"SSVJJU","label":"IBM Security Directory Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"6.0;6.1;6.2;6.3;6.3.1;6.4","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

Document Information

Modified date:
16 June 2018

UID

swg21236775