Bug 1356898

Summary: Document nsds5ReplicaReleaseTimeout
Product: Red Hat Directory Server Reporter: Viktor Ashirov <vashirov>
Component: Doc-administration-guideAssignee: Marc Muehlfeld <mmuehlfe>
Status: CLOSED CURRENTRELEASE QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 10.0CC: mreynolds, rhel-docs
Target Milestone: DS10.1   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-14 10:27:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1349571    
Bug Blocks:    

Description Viktor Ashirov 2016-07-15 08:57:27 UTC
https://fedorahosted.org/389/ticket/48636

Replication latency, especially over a WAN, can become worse when there are several masters receiving updates at the same time.  What happens is that one master will take exclusive access of a replica, and not release it for a very long time.  This blocks the other masters from sending their updates to that consumer, and this adds to the replication latency as those updates have to travel back and forth with all the other masters, and consumers.  See the bugzilla for more detailed info.

We need a way to notify a master that it is holding its exclusive access of a replica for too long, and that it needs to yield so other masters can start sending some of their updates to that replica.

Design doc: http://www.port389.org/docs/389ds/design/repl-conv-design.html
Implementation
The new configuration attribute can be set using ldapmodify, and the change takes effect immediately. It does not require a server restart.

Major configuration options and enablement
The new configuration attribute is: nsds5ReplicaReleaseTimeout, and it accepts any value of zero or higher. This value represents a timeout in seconds. This attribute is set in each replica mapping tree entry. It should be set on Masters and Hubs - there is no need to set this on consumers. Setting the timeout to zero is the same as disabling the timeout feature. Below is an example of setting a timeout.

dn: cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config
changetype: modify
replace:  nsds5ReplicaReleaseTimeout
nsds5ReplicaReleaseTimeout: 60
Internal testing has shown that 60 seconds seems to be the ideal value. Any value below 30 seconds has an adverse impact on replication performance.

Comment 2 Marc Muehlfeld 2017-01-23 10:44:20 UTC
*** Bug 1379847 has been marked as a duplicate of this bug. ***

Comment 4 Marc Muehlfeld 2017-03-14 10:27:25 UTC
The update is now available on the Customer Portal.