Project

General

Profile

Defect #2725

Updated by Alena Peterová about 3 years ago

Tested on 10.7.2 and 10.8.1 

 Steps to reproduce: 
 * create an organization (in my case "Organization three") 
 * create at least 2 users in this organization ("threeOneUser", "threeSecondUser") 
 * create a role which assigns account in a system (can be virtual) ("RoleForThree") 
 * create an automatic role by organizational structure ("RoleForThree" without recursion on "OrganizationThree") 

 Result: One of the users doesn't have the role. The task ProcessAutomaticRoleByTreeTaskExecutor stays **Waiting** and no other task of this type can start => no other new automatic roles are assigned. 
 Note: It doesn't happen always, but in cca 50 % cases. 

 Task scheduler: 
 !scheduler.png! 
 Events: 
 !entity_events.png! 
 Detail of the failed request: 
 !rolerequest.png! 

 <pre> 
 java.lang.IllegalArgumentException: Concept is not executed [CONCEPT], identity role identifier is empty. 
	 at org.springframework.util.Assert.notNull(Assert.java:198) 
	 at eu.bcvsolutions.idm.core.scheduler.task.impl.ProcessAutomaticRoleByTreeTaskExecutor.lambda$null$0(ProcessAutomaticRoleByTreeTaskExecutor.java:270) 
	 at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 
	 at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) 
	 at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) 
	 at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) 
	 at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 
	 at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
	 at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) 
	 at eu.bcvsolutions.idm.core.scheduler.task.impl.ProcessAutomaticRoleByTreeTaskExecutor.lambda$end$1(ProcessAutomaticRoleByTreeTaskExecutor.java:278) 
	 at java.lang.Iterable.forEach(Iterable.java:75) 
	 at eu.bcvsolutions.idm.core.scheduler.task.impl.ProcessAutomaticRoleByTreeTaskExecutor.end(ProcessAutomaticRoleByTreeTaskExecutor.java:263) 
	 at eu.bcvsolutions.idm.core.scheduler.task.impl.ProcessAutomaticRoleByTreeTaskExecutor.end(ProcessAutomaticRoleByTreeTaskExecutor.java:91) 
	 at eu.bcvsolutions.idm.core.scheduler.api.service.AbstractLongRunningTaskExecutor.notifyEnd(AbstractLongRunningTaskExecutor.java:293) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.lambda$completeEvent$13(DefaultEntityEventManager.java:1431) 
	 at java.util.ArrayList.forEach(ArrayList.java:1257) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.completeEvent(DefaultEntityEventManager.java:1429) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.completeEvent(DefaultEntityEventManager.java:1408) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:252) 
	 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:218) 
	 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) 
	 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) 
	 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) 
	 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 
	 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$389cc354.process(<generated>) 
	 at eu.bcvsolutions.idm.core.model.event.processor.event.EntityEventExecuteProcessor.process(EntityEventExecuteProcessor.java:52) 
	 at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:239) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) 
	 at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:402) 
	 at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:372) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:250) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:177) 
	 at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$2.run(DefaultEntityEventManager.java:615) 
	 at eu.bcvsolutions.idm.core.config.DelegatingTransactionContextRunnable.run(DelegatingTransactionContextRunnable.java:39) 
	 at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:84) 
	 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) 
 </pre>

Back