What causes the error "The LDAP nightly synchronization task did not complete" and new users fail to import
![](http://jazz.net/_images/myphoto/c8a84e4efb45df388130012995060d68.jpg)
New users are not being imported during the nightly sync and the following error is seen in the JTS logs
DEBUG ce.jts.internal.userregistry.ldap.LDAPUserRegistry Groups-for-user filter = uniqueMember={USER-DN}Query to find user by user DN - ldapsearch -h ldaps://ldapserver:port -b "DN-Attibute=user-name,ou=People,ou=mydomain,dc=.com" "objectClass=DN-Attibute"In getStringAttributeValues(). Retriveing value of attribute 'UniqueMember'In getStringAttributeValues(). Retriveing value of attribute 'mail'In getStringAttributeValues(). Retriveing value of attribute 'cn'The LDAP nightly synchronization task did not complete. Check the following exceptions for more information.java.lang.IllegalArgumentException: Invalid Contributor Email address. Contributor Email address must not be empty at com.ibm.team.repository.service.internal.ContributorUtils.validateContributorEmail(ContributorUtils.java:255) at com.ibm.team.repository.service.internal.ContributorUtils.validateAndNormalizeContributor(ContributorUtils.java:63) at com.ibm.team.repository.service.internal.ContributorService$2.run(ContributorService.java:537) at com.ibm.team.repository.service.internal.ContributorService$2.run(ContributorService.java:1) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:497) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:321) at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:434) at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611)
One answer
![](http://jazz.net/_images/myphoto/c8a84e4efb45df388130012995060d68.jpg)
We found that there were a number of users in LDAP that had a space as the email address attribute.
We found these problem users by turning on LDAP logging in the log4j.properties for JTS using the following technote
http://www-01.ibm.com/support/docview.wss?uid=swg21632560
See the Enabling LDAP Trace section.
After re-running the import there were a number of the following entries in the jts.log
One for each user and each jazz account they are a member of.
There were a few users with the same problem so we had to re-run the import multiple times and fix each user individually until each problem user was found.
Note an empty email attribute was not an issue, the email attribute contained a space character.
Empty email attribute values should just be imported and show as unknown under user administration.
We found these problem users by turning on LDAP logging in the log4j.properties for JTS using the following technote
http://www-01.ibm.com/support/docview.wss?uid=swg21632560
See the Enabling LDAP Trace section.
After re-running the import there were a number of the following entries in the jts.log
One for each user and each jazz account they are a member of.
DEBUG ce.jts.internal.userregistry.ldap.LDAPUserRegistry Groups-for-user filter = uniqueMember={USER-DN}Query to find user by user DN - ldapsearch -h ldaps://ldapserver:port -b "DN-Attibute=jsmith,ou=People,ou=mydomain,dc=com" "objectClass=DN-Attibute"In getStringAttributeValues(). Retriveing value of attribute 'UniqueMember'In getStringAttributeValues(). Retriveing value of attribute 'mail'In getStringAttributeValues(). Retriveing value of attribute 'cn'The last one before the "The LDAP nightly synchronization task did not complete" error was the user with the problem.
There were a few users with the same problem so we had to re-run the import multiple times and fix each user individually until each problem user was found.
Note an empty email attribute was not an issue, the email attribute contained a space character.
Empty email attribute values should just be imported and show as unknown under user administration.