Re: AD sync problem for group with more than 1500 entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/26/2013 10:17 PM, Nathan Kinder wrote:
On 02/26/2013 08:42 PM, David Baird wrote:
Hi,

We have been experiencing an intermittent problem with our AD sync, where updates to a group in 389 have resulted in the group being emptied of users.

This has been occurring at various times but not consistently, so was very difficult to track. Previously, the group would be emptied in the AD, which would then replicate back to 389, resulting in an empty group in both Directories.

Since installing a fresh CentOS 6.3 server and the latest stable 389 (at the time, 1.2.10.12-1) the behaviour has only changed slightly, in that now the 389 group gets emptied and the AD group remains intact. When this happens, initiating a full re-sync will not fix the issue.

We have since discovered that this behaviour is, in fact, consistent and repeatable if the group contains more than 1500 members. Below that threshold, adding or subtracting users from the 389 group replicates perfectly. As soon as you exceed that limit, the group gets emptied.

Turning on replication logging revealed the following.....
(domain and server names have been made anonymous)

[27/Feb/2013:12:20:33 +1300] - Calling dirsync search request plugin
[27/Feb/2013:12:20:33 +1300] - Sending dirsync search request
[27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - received entry from dirsync: CN=students,OU=Groups,OU=Active,OU=People,DC=domain,DC=com [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - agmt="cn=DC01" (DC01:636): map_entry_dn_inbound: looking for local entry matching AD entry [CN=students,OU=Groups,OU=Active,OU=People,DC=domain,DC=com] [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - agmt="cn=DC01" (DC01:636): map_entry_dn_inbound: looking for local entry by guid [919561f60fe49f409afcdf80a63eb089] [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - agmt="cn=DC01" (DC01:636): map_entry_dn_inbound: found local entry [CN=students,ou=Groups,ou=Active,ou=People,dc=domain,dc=com] [27/Feb/2013:12:20:33 +1300] - Calling windows entry search request plugin [27/Feb/2013:12:20:33 +1300] - windows_search_entry: received 2 messages, 1 entries, 0 references [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - agmt="cn=DC01" (DC01:636): map_entry_dn_inbound: looking for local entry matching AD entry [CN=students,OU=Groups,OU=Active,OU=People,DC=domain,DC=com] [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - windows_generate_update_mods: CN=students,ou=Groups,ou=Active,ou=People,dc=domain,dc=com, description : values are equal [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - windows_generate_update_mods: CN=students,ou=Groups,ou=Active,ou=People,dc=domain,dc=com, ntUserDomainId : values are equal [27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - windows_generate_update_mods: deleting uniquemember attribute from local entry
[27/Feb/2013:12:20:33 +1300] - smod - windows sync
[27/Feb/2013:12:20:33 +1300] - smod 0 - delete: uniquemember


The particularly interesting line is this
[27/Feb/2013:12:20:33 +1300] NSMMReplicationPlugin - windows_generate_update_mods: deleting uniquemember attribute from local entry

This only appears to happen when the group contains more than 1500 entries.

Surely there must be someone else out there syncing groups with more than 1500 members between 389 and AD?

It wasn't until I used Apache Directory Studio to compare entries between the 389 server and the AD that I noticed the attribute name was represented differently when the group contained over 1500 entries.

This is a result of the range retrieval limit in AD. When you hit the range limit, the attribute name changes from "member" to "member;range=0-1499", which causes the mismatch that leads to the uniquemember attribute being deleted.

In order to prevent this from happening, we have had to increase the MaxValRange setting in our Active Directory as per http://support.microsoft.com/kb/2009267 and http://support.microsoft.com/kb/315071

The value defaults to 1500 for Windows Server 2003 or 5000 for Windows Server 2008.

Personally I consider this a bug in the AD sync plugin, as it fails to correctly handle range retrieval. At the very least, the documentation for Windows Sync should contain information about this limit.
This does sound like a bug. Please open a ticket in our Trac instance here:

    https://fedorahosted.org/389/

The Windows Sync plug-in needs to be modified to understand how to use ranged searches.
https://fedorahosted.org/389/ticket/472


Thanks,
-NGK

David.
--
389 users mailing list
389-users@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/389-users

--
389 users mailing list
389-users@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/389-users

--
389 users mailing list
389-users@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/389-users



[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux