Hi Francesco,

> When you manually change some field - mapped as 'AccountId' in Syncope -
on an external resource, Syncope does not have
> anymore an handle to understand that the remote user object is linked to
an internal user.
> H2 behavior looks normal the but ApacheDS' does not sound: have you tried
to look at connid log during the further synchronization
> from ApacheDS?

Here is the exception that appears in "core.log". The scenario is that a
user "bob" that was successfuly synchronized previously, has now been
renamed to "bob2" in the Apache DS backend. Should I open a JIRA for this?

Colm.

10:45:57.806 ERROR org.apache.syncope.core.scheduling.AbstractTaskJob -
Could not create user bob2
org.springframework.dao.DataIntegrityViolationException: The transaction
has been rolled back.  See the nested exceptions for details on the errors
that occurred.; nested exception is <openjpa-2.2.0-r422266:1244990 fatal
store error> org.apache.openjpa.persistence.EntityExistsException: The
transaction has been rolled back.  See the nested exceptions for details on
the errors that occurred.
FailedObject:
org.apache.syncope.core.persistence.beans.user.UAttrUniqueValue@36d544bf
    at
org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
~[spring-orm-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
~[spring-orm-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
~[spring-orm-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
~[spring-tx-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
~[spring-tx-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:394)
~[spring-tx-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
~[spring-tx-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
~[spring-aop-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at $Proxy123.create(Unknown Source) ~[na:na]
    at
org.apache.syncope.core.scheduling.SyncJob.createUser(SyncJob.java:331)
[SyncJob.class:na]
    at
org.apache.syncope.core.scheduling.SyncJob.handleDelta(SyncJob.java:716)
[SyncJob.class:na]
    at
org.apache.syncope.core.scheduling.SyncJob$1.handle(SyncJob.java:645)
[SyncJob$1.class:na]
    at
org.apache.syncope.core.propagation.ConnectorFacadeProxy$1.handle(ConnectorFacadeProxy.java:374)
[ConnectorFacadeProxy$1.class:na]
    at
org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:79)
[framework-internal-1.3.2.jar:na]
    at
org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:268)
[framework-internal-1.3.2.jar:na]
    at
org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:102)
[framework-internal-1.3.2.jar:na]
    at $Proxy173.search(Unknown Source) [na:na]
    at sun.reflect.GeneratedMethodAccessor438.invoke(Unknown Source)
~[na:na]
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_35]
    at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_35]
    at
org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:76)
[framework-internal-1.3.2.jar:na]
    at $Proxy173.search(Unknown Source) [na:na]
    at
org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:142)
[framework-internal-1.3.2.jar:na]
    at
org.apache.syncope.core.propagation.ConnectorFacadeProxy.getAllObjects(ConnectorFacadeProxy.java:364)
[ConnectorFacadeProxy.class:na]
    at
org.apache.syncope.core.scheduling.SyncJob.doExecute(SyncJob.java:640)
[SyncJob.class:na]
    at
org.apache.syncope.core.scheduling.AbstractTaskJob.execute(AbstractTaskJob.java:101)
[AbstractTaskJob.class:na]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
[quartz-1.8.6.jar:na]
    at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
[quartz-1.8.6.jar:na]
Caused by: org.apache.openjpa.persistence.EntityExistsException: The
transaction has been rolled back.  See the nested exceptions for details on
the errors that occurred.
    at
org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2337)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2174)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1514)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
~[openjpa-persistence-2.2.0.jar:2.2.0]
    at
org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
~[spring-orm-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    ... 26 common frames omitted
Caused by: org.apache.openjpa.persistence.EntityExistsException: Unique
index or primary key violation: "U_TTRNQVL_STRINGVALUE_INDEX_9 ON
PUBLIC.UATTRUNIQUEVALUE(STRINGVALUE, SCHEMA_NAME)"; SQL statement:
INSERT INTO PUBLIC.UAttrUniqueValue (ID, BOOLEANVALUE, DATEVALUE,
DOUBLEVALUE, LONGVALUE, STRINGVALUE, ATTRIBUTE_ID, SCHEMA_NAME) VALUES (?,
?, ?, ?, ?, ?, ?, ?) [23505-168] {prepstmnt 271272750 INSERT INTO
PUBLIC.UAttrUniqueValue (ID, BOOLEANVALUE, DATEVALUE, DOUBLEVALUE,
LONGVALUE, STRINGVALUE, ATTRIBUTE_ID, SCHEMA_NAME) VALUES (?, ?, ?, ?, ?,
?, ?, ?) [params=?, ?, ?, ?, ?, ?, ?, ?]} [code=23505, state=23505]
    at
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4903)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4878)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:78)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:143)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:79)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:99)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:87)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:357)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flushGraph(ConstraintUpdateManager.java:349)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:97)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:713)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:661)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
~[openjpa-kernel-2.2.0.jar:2.2.0]
    ... 34 common frames omitted
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Unique index
or primary key violation: "U_TTRNQVL_STRINGVALUE_INDEX_9 ON
PUBLIC.UATTRUNIQUEVALUE(STRINGVALUE, SCHEMA_NAME)"; SQL statement:
INSERT INTO PUBLIC.UAttrUniqueValue (ID, BOOLEANVALUE, DATEVALUE,
DOUBLEVALUE, LONGVALUE, STRINGVALUE, ATTRIBUTE_ID, SCHEMA_NAME) VALUES (?,
?, ?, ?, ?, ?, ?, ?) [23505-168] {prepstmnt 271272750 INSERT INTO
PUBLIC.UAttrUniqueValue (ID, BOOLEANVALUE, DATEVALUE, DOUBLEVALUE,
LONGVALUE, STRINGVALUE, ATTRIBUTE_ID, SCHEMA_NAME) VALUES (?, ?, ?, ?, ?,
?, ?, ?) [params=?, ?, ?, ?, ?, ?, ?, ?]} [code=23505, state=23505]
    at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:247)
~[openjpa-lib-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:223)
~[openjpa-lib-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$1000(LoggingConnectionDecorator.java:72)
~[openjpa-lib-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1162)
~[openjpa-lib-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:272)
~[openjpa-lib-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1741)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:267)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:118)
~[openjpa-jdbc-2.2.0.jar:2.2.0]
    ... 47 common frames omitted

Reply via email to