Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

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