Details
-
Type:
Bug
-
Status: Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 4.2
-
Fix Version/s: 4.5
-
Component/s: Connectors
-
Labels:None
-
Subscription:No subscription (community)
Description
When using the adDirSync synchronisation strategy, changes are not being propagated to midpoint. In the log, we can see that the changes are picked up by the connector:
2021-03-08 17:11:50,199 [] [Thread-242949] TRACE (com.evolveum.polygon.connector.ldap.schema.AbstractSchemaTranslator): method: null msg:Converting identifier to ICF: objectGUID (syntax 2.5.5.10, value class org.apache.directory.api.ldap.model.entry.Value): explicit binary 2021-03-08 17:11:50,201 [] [Thread-242949] TRACE (com.evolveum.polygon.connector.ldap.sync.AdDirSyncStrategy): method: null msg:Got target entry based on dirSync, targetUid=c6093106-71a8-4f92-985e-d099f477effd: null 2021-03-08 17:11:50,201 [] [Thread-242949] DEBUG (com.evolveum.polygon.connector.ldap.OperationLog): method: null msg:ldaps://dmu04.rsint.net/ Search(DirSync) RES Entry dn: CN=SXXX_F,OU=XXXX,OU=XX,OU=XXXX,DC=XXXX,DC=net objectGUID: 0xE0 0x6A 0x1F 0x58 0x0C 0xF5 0xE5 0x40 0x80 0xAE 0xC2 0x53 0x6B 0xCA 0x85 0x8D instanceType: 4 lastLogonTimestamp: 132596932934045600 2021-03-08 17:11:50,201 [] [Thread-242949] TRACE (com.evolveum.polygon.connector.ldap.schema.AbstractSchemaTranslator): method: null msg:Converting identifier to ICF: objectGUID (syntax 2.5.5.10, value class org.apache.directory.api.ldap.model.entry.Value): explicit binary
The value null above corresponds to targetEntry. Which causes the entry to be ignored:
deltaBuilder.setDeltaType(SyncDeltaType.CREATE_OR_UPDATE); Entry targetEntry = LdapUtil.fetchEntryByUid(connection, targetUid, ldapObjectClass, options, getConfiguration(), getSchemaTranslator(), getErrorHandler()); LOG.ok("Got target entry based on dirSync, targetUid={0}:\n{1}", targetUid, targetEntry); if (targetEntry == null) { // The entry may not exist any more. Maybe it was already deleted. // Then it may be OK to just ignore this event. The related DELETE event // should be detected separately. continue; }
Unfortunately, there is no logging in LdapUtil.fetchEntryByUid to see where it's going wrong. The entry is not deleted (which is assumed according to the comment lines).
Please let me know if this is just a configuration issue. However, some logging would be helpful.
Chris.