The difference between "by Partition" vs "by Server" synchronization

(Last modified: 07Feb2003)

This document (10065779) is provided subject to the disclaimer at the end of this document.


The difference between "by Partition" vs "by Server" synchronization


Novell NetWare 6

Novell eDirectory 8.6

Novell eDirectory 8.7

NDS iMonitor 1.5

NDS iMonitor 2.0


With the introduction of eDirectory 8.6 or greater into a network environment comes some major differences in the way DS synchronization occurs.  eDirectory 8.6 and greater now has the ability to perform outbound synchronization using multiple threads.  We are still limited to single-threaded inbound sync with these versions of eDirectory, however multi-threaded inbound sync is slated for future releases of eDirectory.

The following is an example of the difference between "by Partition" and " by Server" synchronization.  By default, the "by Server" synchronization method is selected.  This setting can be changed by using iMonitor version 1.5 or higher.  Go to the iMonitor home page on the eDirectory server (the URL is usually http://<server IP address>:8008/nds).  Once there, click on the Agent Configuration link on the left and then click Agent Synchronization.  Also available on this page, is the setting to change how many threads DS uses to synchronize.  The default is 8.  The following 4-server network will be used for example purposes:

There are three partitions:  [Root], O=novell and OU=sales.O=novell

Server A ---- M [Root] ----- R/W O=novell ----- R/W OU=sales.O=novell
Server B ----- R/W [Root] ----- S/R O=novell
Server C ----- R/W [Root] ----- R/W O=novell ----- S/R OU=sales.O=novell
Server D ----- R/W [Root] ----- R/W O=novell ----- R/W OU=sales.O=novell
Server E ----- R/W O=novell ----- S/R OU=sales.O=novell


Server A will use one thread to outbound sync [Root] with Server B, another thread for [Root] to Server C and another thread for [Root] to Server D, etc. simultaneously.  Severs B, C D, and E will only accept one inbound thread at a time.  Once synchronization has completed, the partition record is updated.  This method is similar to the way DS synchronization occurs in pre-eDirectory 8.6 versions except outbound sync uses multiple threads.  In order to mimic the pre-eDirectory 8.6 synchronization methods, the synchronization threads needs would need to be lowered to 1.  Normally this would not be needed unless troubleshooting a synchronization issue.  The setting can be changed by simply selecting the method needed and then clicking SUBMIT.    

NOTE:  In this multi-threaded algorithm, if Server D tries to outbound sync O=novell to Server B while Server B is receiving inbound sync from Server A for [Root], Server D will report a -6015 error to Server B, which is similar to the -698 skulk in progress error because it can only handle one inbound sync thread at a time.  


Server A will outbound sync [Root], O=novell, and OU=sales to Server D using one thread.  Simultaneously Server A can outbound sync [Root] and O=novell and OU=sales with Server C using another thread.  

Here is the algorithm that DS uses to calculate when to sync "by Server" or "by Partition."  

If # of Partitions >= (# of unique servers - 1) then DS will sync "by Partition"
Otherwise DS will sync "by Server"

In our example above, the # of Partitions = 3 and (# of unique servers - 1) = 4.  3 >= 4 is FALSE so it will sync "by Server."

The following is the algorithm that DS uses to determine how many threads to use.

If # of Partitions <= (2 * # of unique servers) then # of threads = # of Partitions
Otherwise # of threads = # of Servers / 2.

If # of threads >= # of Threads set in iMonitor (8 is the default) then # of Threads = the iMonitor setting.
Otherwise # of threads is calculated as shown above.

In our example above, the # of Partitions = 3 and (2 * # of unique servers) = 10.  3 <= 10 is TRUE so DS will use 3 threads to synchronize (which is still less than the default value of 8 as shown in iMonitor).


in NDS iMonitor 2.0 there is a new option available:  DYNAMIC ADJUST.  This will set the algorithm back to a dynamic state.  iMonitor 2.0 ships with Novell eDirectory 8.7.


For additional information on eDirectory 8.6, please see the following solution.  TID #10066455 - eDirectory 8.6 Readme Addendum 

For additional information on eDirectory 8.7, please see the following solution.  NOVL81742 - eDirectory 8.7 Readme Addendum 


Document Title: The difference between "by Partition" vs "by Server" synchronization
Document ID: 10065779
Solution ID: NOVL62538
Creation Date: 01Nov2001
Modified Date: 07Feb2003
Novell Product Class:NetWare


The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.