Overview#
EDirectory Change Cache is located on each server tracks all changed entries in the local replicas and contains EntryID and Creation Timestamp and are to be part of the EDirectory Synchronization process.Enable or Disable #
You can enable or disable the Inline Change Cache for a server.You can disable Inline Change Cache only when Outbound Synchronization is disabled. Enabling Outbound Synchronization also enables InlineChange Cache.
What Goes into Change Cache#
- Attributes that are marked X-NDS_NOT_SCHED_SYNC_IMMEDIATE are added to the Change Cacheas a Slow Convergent or (30 second hold time).
- Attributes that are marked X-NDS_SCHED_SYNC_NEVER are added to the Change Cache which will sync whenever the next EDirectory Synchronization cycle happens but not longer than the N4u.nds.heartbeat-data interval.
- Any other Attributes will initiate an immediate EDirectory Synchronization.
- Priority Synchronization - This process does NOT use Change Cache.
- X-NDS_NEVER_SYNC - Are not synchronized and therefore are never placed in Change Cache!! Asynchronous Outbound Synchronization
One thread examines the Change Cache, prepares the outgoing packets then fills a queue with the packets. The second thread picks up the packets from the queue and sends them the remote server one at a time. This has reduced the time to get changes out to other servers by up to 50% in some cases.
The default setting for Asynchronous Outbound Synchronization is disabled. In EDirectory 8.8.8.0 (20801.46) imonitor provides an interface to enable this feature. If this feature is enabled the server will be much more aggressive in sending changes out to the remote servers. This can put pressure on the receiving servers resulting in higher utilization. Therefore, another setting has been included with this feature, the Async Dispatcher Thread Delay. This setting allows the administrator to control, in milliseconds, the frequency in which changes are sent to the remote servers. The Async Dispatcher Thread Delay setting, by default, has no delay (0 milliseconds). The allowed range for this setting is 0 - 999 milliseconds. If this value is very small, meaning the thread fires more often, higher CPU and I/O utilization may be seen on the receiving servers due to the higher amount of inbound traffic. Therefore, this setting should be monitored and fine tuned for the specific environment.