Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

LDAP sync suddenly broken - how to find the reasons?

Avatar

Not applicable

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

0 Replies

Avatar

Not applicable

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