Bug 222055

Summary: DirSync interval should be configurable
Product: [Retired] 389 Reporter: Noriko Hosoi <nhosoi>
Component: Sync ServiceAssignee: Rich Megginson <rmeggins>
Status: CLOSED CURRENTRELEASE QA Contact: Chandrasekar Kannan <ckannan>
Severity: medium Docs Contact:
Priority: low    
Version: 1.0.4CC: benl, jgalipea, nhosoi, nkinder, takamiya
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 8.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-04-29 22:59:43 UTC Type: ---
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:    
Bug Blocks: 152373, 249650, 493682    
Attachments:
Description Flags
diffs
none
cvs commit log none

Description Noriko Hosoi 2007-01-09 20:51:00 UTC
Description of problem:
For now, it's hardcoded to 5 min.
windows_inc_protocol.c
    134 #define PERIODIC_DIRSYNC_INTERVAL 5 * 60 * 1000 /* DBDB this should prob
       ably be configurable. 5 mins fixed for now */
    [...]
    267 static void
    268 windows_inc_run(Private_Repl_Protocol *prp)
    269 {
    [...]
    351                 if (is_first_start) {
    352                     /*
    353                      * The function, the arguments, the time (hence) whe
       n it is first to be called,
    354                      * and the repeat interval.
    355                      */
    356                     /* DBDB: we should probably make this polling interv
       al configurable */
    357                     dirsync = slapi_eq_repeat(periodic_dirsync, (void*)
        prp, (time_t)0 , PERIODIC_DIRSYNC_INTERVAL);
    358                     is_first_start = PR_FALSE;
    359                 }

Comment 2 Rich Megginson 2009-01-14 01:09:21 UTC
Created attachment 328937 [details]
diffs

Comment 3 Noriko Hosoi 2009-01-14 02:05:33 UTC
Thanks, Rich!

Comment 4 Rich Megginson 2009-01-14 15:09:08 UTC
Created attachment 329000 [details]
cvs commit log

Reviewed by: nhosoi (Thanks!)
Fix Description: Added a new config attribute - winSyncInterval - this is how often to run the dirsync search, in seconds.  The default is 600 (5 minutes) which was the old hard coded value.  Due to the way it's coded, the change only takes effect when the agreement is created or restarted, so the value cannot really be dynamically changed.
Platforms tested: RHEL5
Flag Day: no
Doc impact: yes - document the new attribute

Comment 5 Jenny Severance 2009-03-11 17:35:51 UTC
After adding a windows sync agreement the winSyncInterval attribute does not exist and default to 5 minutes (300 seconds).  The attribute exists:
[root@jennyv2 jenny]# cat /etc/dirsrv/slapd-jennyv2/schema/* | grep winSyncInterval
attributeTypes: ( 2.16.840.1.113730.3.1.1099 NAME 'winSyncInterval' DESC 'Netscape defined attribute type'  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'Netscape Directory Server' )
objectClasses: ( 2.16.840.1.113730.3.2.503 NAME 'nsDSWindowsReplicationAgreement' DESC 'Netscape defined objectclass' SUP top MUST ( cn ) MAY ( nsDS5ReplicaHost $ nsDS5ReplicaPort $ nsDS5ReplicaTransportInfo $ nsDS5ReplicaBindDN $ nsDS5ReplicaCredentials $ nsDS5ReplicaBindMethod $ nsDS5ReplicaRoot $ nsDS5ReplicatedAttributeList $ nsDS5ReplicaUpdateSchedule $ nsds5BeginReplicaRefresh $ description $ nsds50ruv $ nsruvReplicaLastModified $ nsds5ReplicaTimeout $ nsds5replicaChangesSentSinceStartup $ nsds5replicaLastUpdateEnd $ nsds5replicaLastUpdateStart $ nsds5replicaLastUpdateStatus $ nsds5replicaUpdateInProgress $ nsds5replicaLastInitEnd $ nsds5replicaLastInitStart $ nsds5replicaLastInitStatus $ nsds5debugreplicatimeout $ nsds5replicaBusyWaitTime $ nsds5replicaSessionPauseTime $ nsds7WindowsReplicaSubtree $ nsds7DirectoryReplicaSubtree $ nsds7NewWinUserSyncEnabled $ nsds7NewWinGroupSyncEnabled $ nsds7WindowsDomain $ nsds7DirsyncCookie $ winSyncInterval) X-ORIGIN 'Netscape Directory Server' )

And can be added to change the interval.


Usage of the new attribute is documented staged here:

http://elladeon.fedorapeople.org/DirServer/8.1/admin/Using_Windows_Sync-Modifying_the_Sync_Agreement.html

 To change how frequently the Directory Server checks the Active Directory for changes to Active Directory entries, reset the winSyncInterval attribute. This attribute is set in seconds, so the default of 300 means that the Directory Server polls the Active Directory server every 300 seconds, or five minutes. Setting this to a higher value can be useful if the directory searches are taking too long and affecting performance.

winSyncInterval: 1000

Comment 6 Chandrasekar Kannan 2009-04-29 22:59:43 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2009-0455.html