Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.

LDAP sync suddenly broken - how to find the reasons?

Avatar

Former Community Member

Hi all,

an working domain sync between Microsoft-Active Directory and LiveCycle is suddenly broken.

Is this an known problem?

Shouldn't Domain sync just skip this individual field/user and continue with the other few thousand users?

How to find the user - or field, that does break the sync?

Any logLevels that need to be increased?

the exception looks like:

2011-01-05 13:30:00,469 INFO  [com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean] UserM:: [Thread Hashcode: 27719747] ---->Sync: Start reading users in domain: XXXXX
2011-01-05 13:30:00,594 INFO  [com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean] UserM:: [Thread Hashcode: 27719747] ---->Sync: Reading Users from Directory: XXXXX
2011-01-05 13:30:02,469 WARN  [com.adobe.idp.common.errors.exception.IDPLoggedException] UserM:GENERIC_WARNING: [Thread Hashcode: 27719747] | [com.adobe.idp.storeprovider.jdbc.DBStatement] errorCode:12290 errorCodeHEX:0x3002 message:execute non-query failure(update EDCPRINCIPALUSERENTITY set EDCPRINCIPALUSERENTITY.address = ?, EDCPRINCIPALUSERENTITY.familyName = ?, EDCPRINCIPALUSERENTITY.givenName = ?, EDCPRINCIPALUSERENTITY.initials = ?, EDCPRINCIPALUSERENTITY.locale = ?, EDCPRINCIPALUSERENTITY.telephoneNumber = ?, EDCPRINCIPALUSERENTITY.timezone = ?, EDCPRINCIPALUSERENTITY.bizCalKey = ?, EDCPRINCIPALUSERENTITY.uidString = ?, EDCPRINCIPALUSERENTITY.sequenceNumber = EDCPRINCIPALUSERENTITY.sequenceNumber + 1 from EDCPRINCIPALUSERENTITY where EDCPRINCIPALUSERENTITY.refPrincipalId = convert(char(36),?) ) chainedException:com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.chainedExceptionMessage:String or binary data would be truncated. chainedException trace:com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(Unknown Source)
at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeUpdate(CachedPreparedStatement.java:95)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:251)
at com.adobe.idp.storeprovider.jdbc.DBStatement.executeNonQuery(DBStatement.java:405)
at com.adobe.idp.storeprovider.jdbc.DBStoreProvider.update(DBStoreProvider.java:1357)
at com.adobe.idp.um.dpl.DirectoryFactory.updateUserEntity(DirectoryFactory.java:1084)
at com.adobe.idp.um.dpl.DirectoryFactory.persistPrincipalUserGroupEntity(DirectoryFactory.java:2153)
at com.adobe.idp.um.dpl.DirectoryFactory.persistPrincipal(DirectoryFactory.java:2134)
at com.adobe.idp.um.dpl.DirectoryFactory.persistSyncPrincipal(DirectoryFactory.java:1985)
at com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean.transactPrincipalsBatchFromDomain(DirectorySynchronizationManagerBean.java:1407)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:404)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
at $Proxy254.transactPrincipalsBatchFromDomain(Unknown Source)
at com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean.persistPrincipalsFromDomainDirectory(DirectorySynchronizationManagerBean.java:1269)
at com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean.synchronizePrincipalsFromDomain(DirectorySynchronizationManagerBean.java:1038)
at com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean.synchronizeReadUsers(DirectorySynchronizationManagerBean.java:1595)
at com.adobe.idp.um.businesslogic.directoryservices.DirectorySynchronizationManagerBean.synchronizeProviders(DirectorySynchronizationManagerBean.java:2114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:378)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
at $Proxy254.synchronizeProviders(Unknown Source)
at com.adobe.idp.um.util.UMSchedulerUtil$ScheduledHelper.synchronizeProviders(UMSchedulerUtil.java:575)
at com.adobe.idp.um.scheduler.DirectorySyncJob.executeSyncFinisher(DirectorySyncJob.java:146)
at com.adobe.idp.um.scheduler.DirectorySyncJob.execute(DirectorySyncJob.java:99)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)

Thanks for any hints...

Diletttanto

1 Reply

Avatar

Former Community Member

To find out which user/group is causing the problem, you can use LDAPDecoder as a proxy in between.

1. Download slamd-2.0.1.zip from http://www.slamd.com. LDAPDecoder tool is located at /tools/LDAPDecoder directory.

2. Start LDAPDecoder as,

java -jar LDAPDecoder.jar -h {LDAPserverAddress} -p {LDAPserverPort} -L {listenPort} -f "output.log"

3. Point your LC Enterprise Server to the {listenport} and the {serverAddress where LDAP Decoder is running}.

4. The output.log will help in identifying which princiapl from LDAP is breaking the sync process.

The related doc for usage is,

http://blogs.sun.com/DirectoryManager/entry/decoding_ldap_communication