Project

General

Profile

Defect #1775

Updated by Ondřej Kopr over 4 years ago

This ticket has probably two categories: -Synchronization- Synchronization and Identity state. During normal behavior (classic save, scripts, ...), I'm not able simulate this. Only way how to simulate this is synchronization. 

 The most easiest way how to simulate this is: 
 * create three identity with usernames: one, two, three. All identities has automatically created contract and state is valid 
 * create new system with CSV connector 
 * csv file structure: 
 <pre> 
 username;state  
 one;false 
 two;true 
 three;false 
 </pre> 
 * Create schema, mapping, synchronization (reconciliation is enough), 
 * execute first synchronization, this synchronization create accounts and links, 
 * execute second synchronization. This synchronization update identity and throws error: 
 !001.png! 
 * Errors are throws for identity one and three, 
 !002.png! 
 * Synchronization log: 
 <pre> 
 2019-08-01T08:44:52.277+02:00: System entity (49698320-551f-4d34-a318-9b1ca93c2a2f) for this UID (one) was found. We try to find account for this system entity 
 ------------------------- 
 2019-08-01T08:44:52.312+02:00: IdM Account (one) exists in IDM (LINKED) 
 ------------------------- 
 2019-08-01T08:44:52.312+02:00: Linked action is UPDATE_ENTITY 
 ------------------------- 
 2019-08-01T08:44:52.862+02:00: javax.validation.ConstraintViolationException: Validation failed for classes [eu.bcvsolutions.idm.core.model.entity.IdmIdentity] during update time for groups [javax.validation.groups.Default, ] 
 List of constraint violations:[ 
	 ConstraintViolationImpl{interpolatedMessage='nesmí být null', propertyPath=state, rootBeanClass=class eu.bcvsolutions.idm.core.model.entity.IdmIdentity, messageTemplate='{javax.validation.constraints.NotNull.message}'} 
 ] 
	 at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:160) 
	 at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreUpdate(BeanValidationEventListener.java:103) 
	 at org.hibernate.action.internal.EntityUpdateAction.preUpdate(EntityUpdateAction.java:257) 
	 at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:134) 
	 at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465) 
	 at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351) 
	 at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350) 
	 at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:67) 
	 at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1227) 
	 at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1293) 
	 at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) 
	 at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573) 
	 at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449) 
	 at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:67) 
	 at org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:403) 
	 at sun.reflect.GeneratedMethodAccessor239.invoke(Unknown Source) 
	 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
	 at java.lang.reflect.Method.invoke(Method.java:498) 
	 at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:483) 
	 at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:468) 
	 at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:440) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:131) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) 
	 at com.sun.proxy.$Proxy171.findAll(Unknown Source) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.findEntities(AbstractReadDtoService.java:316) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.find(AbstractReadDtoService.java:203) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.find(AbstractFormableService.java:94) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService$$FastClassBySpringCGLIB$$4974b68c.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmContractSliceService$$EnhancerBySpringCGLIB$$510f0860.find(<generated>) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService.toDto(DefaultIdmIdentityContractService.java:112) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService.toDto(DefaultIdmIdentityContractService.java:64) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.lambda$toDtos$15(AbstractReadDtoService.java:533) 
	 at java.util.ArrayList.forEach(ArrayList.java:1257) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.toDtos(AbstractReadDtoService.java:521) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.toDtos(AbstractReadDtoService.java:501) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService.findAllByIdentity(DefaultIdmIdentityContractService.java:232) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService$$FastClassBySpringCGLIB$$b0b02eec.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService$$EnhancerBySpringCGLIB$$922df1ba.findAllByIdentity(<generated>) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService.evaluateState(DefaultIdmIdentityService.java:580) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService.toEntity(DefaultIdmIdentityService.java:146) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService.toEntity(DefaultIdmIdentityService.java:84) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadWriteDtoService.saveInternal(AbstractReadWriteDtoService.java:94) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.saveInternal(AbstractFormableService.java:82) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.saveInternal(AbstractFormableService.java:42) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService$$FastClassBySpringCGLIB$$4974b68c.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService$$EnhancerBySpringCGLIB$$666e8850.saveInternal(<generated>) 
	 at eu.bcvsolutions.idm.core.model.event.processor.identity.IdentitySaveProcessor.process(IdentitySaveProcessor.java:68) 
	 at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:238) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:348) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:247) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$FastClassBySpringCGLIB$$1694e58f.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$a185d383.process(<generated>) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractEventableDtoService.publish(AbstractEventableDtoService.java:62) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.publish(AbstractFormableService.java:78) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractEventableDtoService.publish(AbstractEventableDtoService.java:51) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractEventableDtoService$$FastClassBySpringCGLIB$$28b457d3.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService$$EnhancerBySpringCGLIB$$666e8850.publish(<generated>) 
	 at eu.bcvsolutions.idm.acc.service.impl.IdentitySynchronizationExecutor.save(IdentitySynchronizationExecutor.java:205) 
	 at eu.bcvsolutions.idm.acc.service.impl.IdentitySynchronizationExecutor.doUpdateEntity(IdentitySynchronizationExecutor.java:245) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.resolveLinkedSituation(AbstractSynchronizationExecutor.java:964) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.doItemSynchronization(AbstractSynchronizationExecutor.java:386) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.doItemSynchronization(DefaultSynchronizationService.java:219) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$ce30adf5.doItemSynchronization(<generated>) 
	 at eu.bcvsolutions.idm.acc.event.processor.synchronization.SynchronizationItemProcessor.process(SynchronizationItemProcessor.java:52) 
	 at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:238) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:348) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:247) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:177) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$FastClassBySpringCGLIB$$1694e58f.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$a185d383.process(<generated>) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.startItemSynchronization(AbstractSynchronizationExecutor.java:573) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.handleIcObject(AbstractSynchronizationExecutor.java:525) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor$DefaultResultHandler.handle(AbstractSynchronizationExecutor.java:2276) 
	 at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService$2.handle(ConnIdIcConnectorService.java:250) 
	 at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101) 
	 at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262) 
	 at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94) 
	 at com.sun.proxy.$Proxy364.search(Unknown Source) 
	 at org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:179) 
	 at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.pageSearch(ConnIdIcConnectorService.java:272) 
	 at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.search(ConnIdIcConnectorService.java:267) 
	 at eu.bcvsolutions.idm.ic.service.impl.DefaultIcConnectorFacade.search(DefaultIcConnectorFacade.java:114) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.process(AbstractSynchronizationExecutor.java:260) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.startSynchronization(DefaultSynchronizationService.java:190) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$ce30adf5.startSynchronization(<generated>) 
	 at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:73) 
	 at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:32) 
	 at eu.bcvsolutions.idm.core.scheduler.api.service.AbstractLongRunningTaskExecutor.call(AbstractLongRunningTaskExecutor.java:197) 
	 at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
	 at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:80) 
	 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
	 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
	 at java.lang.Thread.run(Thread.java:748) 

 ------------------------- 
 2019-08-01T08:44:52.863+02:00: Operation count for [UPDATE_ENTITY] is [1] 
 ------------------------- 
 2019-08-01T08:44:52.864+02:00: javax.validation.ConstraintViolationException: Validation failed for classes [eu.bcvsolutions.idm.core.model.entity.IdmIdentity] during update time for groups [javax.validation.groups.Default, ] 
 List of constraint violations:[ 
	 ConstraintViolationImpl{interpolatedMessage='nesmí být null', propertyPath=state, rootBeanClass=class eu.bcvsolutions.idm.core.model.entity.IdmIdentity, messageTemplate='{javax.validation.constraints.NotNull.message}'} 
 ] 
	 at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:160) 
	 at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreUpdate(BeanValidationEventListener.java:103) 
	 at org.hibernate.action.internal.EntityUpdateAction.preUpdate(EntityUpdateAction.java:257) 
	 at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:134) 
	 at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465) 
	 at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351) 
	 at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350) 
	 at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:67) 
	 at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1227) 
	 at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1293) 
	 at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) 
	 at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573) 
	 at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449) 
	 at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:67) 
	 at org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:403) 
	 at sun.reflect.GeneratedMethodAccessor239.invoke(Unknown Source) 
	 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
	 at java.lang.reflect.Method.invoke(Method.java:498) 
	 at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:483) 
	 at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:468) 
	 at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:440) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:131) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) 
	 at com.sun.proxy.$Proxy171.findAll(Unknown Source) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.findEntities(AbstractReadDtoService.java:316) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.find(AbstractReadDtoService.java:203) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.find(AbstractFormableService.java:94) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService$$FastClassBySpringCGLIB$$4974b68c.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmContractSliceService$$EnhancerBySpringCGLIB$$510f0860.find(<generated>) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService.toDto(DefaultIdmIdentityContractService.java:112) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService.toDto(DefaultIdmIdentityContractService.java:64) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.lambda$toDtos$15(AbstractReadDtoService.java:533) 
	 at java.util.ArrayList.forEach(ArrayList.java:1257) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.toDtos(AbstractReadDtoService.java:521) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.toDtos(AbstractReadDtoService.java:501) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService.findAllByIdentity(DefaultIdmIdentityContractService.java:232) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService$$FastClassBySpringCGLIB$$b0b02eec.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityContractService$$EnhancerBySpringCGLIB$$922df1ba.findAllByIdentity(<generated>) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService.evaluateState(DefaultIdmIdentityService.java:580) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService.toEntity(DefaultIdmIdentityService.java:146) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService.toEntity(DefaultIdmIdentityService.java:84) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractReadWriteDtoService.saveInternal(AbstractReadWriteDtoService.java:94) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.saveInternal(AbstractFormableService.java:82) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.saveInternal(AbstractFormableService.java:42) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService$$FastClassBySpringCGLIB$$4974b68c.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService$$EnhancerBySpringCGLIB$$666e8850.saveInternal(<generated>) 
	 at eu.bcvsolutions.idm.core.model.event.processor.identity.IdentitySaveProcessor.process(IdentitySaveProcessor.java:68) 
	 at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:238) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:348) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:247) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$FastClassBySpringCGLIB$$1694e58f.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$a185d383.process(<generated>) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractEventableDtoService.publish(AbstractEventableDtoService.java:62) 
	 at eu.bcvsolutions.idm.core.eav.api.service.AbstractFormableService.publish(AbstractFormableService.java:78) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractEventableDtoService.publish(AbstractEventableDtoService.java:51) 
	 at eu.bcvsolutions.idm.core.api.service.AbstractEventableDtoService$$FastClassBySpringCGLIB$$28b457d3.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmIdentityService$$EnhancerBySpringCGLIB$$666e8850.publish(<generated>) 
	 at eu.bcvsolutions.idm.acc.service.impl.IdentitySynchronizationExecutor.save(IdentitySynchronizationExecutor.java:205) 
	 at eu.bcvsolutions.idm.acc.service.impl.IdentitySynchronizationExecutor.doUpdateEntity(IdentitySynchronizationExecutor.java:245) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.resolveLinkedSituation(AbstractSynchronizationExecutor.java:964) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.doItemSynchronization(AbstractSynchronizationExecutor.java:386) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.doItemSynchronization(DefaultSynchronizationService.java:219) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$ce30adf5.doItemSynchronization(<generated>) 
	 at eu.bcvsolutions.idm.acc.event.processor.synchronization.SynchronizationItemProcessor.process(SynchronizationItemProcessor.java:52) 
	 at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:238) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:348) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:247) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:177) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$FastClassBySpringCGLIB$$1694e58f.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$a185d383.process(<generated>) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.startItemSynchronization(AbstractSynchronizationExecutor.java:573) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.handleIcObject(AbstractSynchronizationExecutor.java:525) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor$DefaultResultHandler.handle(AbstractSynchronizationExecutor.java:2276) 
	 at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService$2.handle(ConnIdIcConnectorService.java:250) 
	 at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101) 
	 at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262) 
	 at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94) 
	 at com.sun.proxy.$Proxy364.search(Unknown Source) 
	 at org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:179) 
	 at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.pageSearch(ConnIdIcConnectorService.java:272) 
	 at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.search(ConnIdIcConnectorService.java:267) 
	 at eu.bcvsolutions.idm.ic.service.impl.DefaultIcConnectorFacade.search(DefaultIcConnectorFacade.java:114) 
	 at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.process(AbstractSynchronizationExecutor.java:260) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.startSynchronization(DefaultSynchronizationService.java:190) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>) 
	 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651) 
	 at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$ce30adf5.startSynchronization(<generated>) 
	 at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:73) 
	 at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:32) 
	 at eu.bcvsolutions.idm.core.scheduler.api.service.AbstractLongRunningTaskExecutor.call(AbstractLongRunningTaskExecutor.java:197) 
	 at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
	 at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:80) 
	 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
	 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
	 at java.lang.Thread.run(Thread.java:748) 

 ------------------------- 
 2019-08-01T08:44:52.864+02:00: Operation count for [UPDATE_ENTITY] is [1] 
 </pre> 
 * The main issue is probably in method DefaultIdmIdentityService.toEntity row 146. Because in previous rows is toEntity and this set into state null. 
 * This method is called twice one is by checkPermissions this execution is successful and the second called end with error. Probably some commit. Or method identityContractService.findAllByIdentity has annotation @Transactional and made commit. IDK :( 

 This isn't probably so urgent because in all projects is identity state counted from contracts. 

 The last strange thing is that state newly disabled identity is Excluded. But the correct state is probably manually blocked? 

 !003.png! 


 Affected version: 9.7.0?

Back