0 Replies Latest reply on Jan 11, 2013 11:25 AM by itsnagesh

    Concurrent Modification exception in task server when running with 100 concurrent users

    itsnagesh

      I have a business process with 5 manual activities with a fork, initially all user tasks are assigned to business admin

       

      My scenario is like start process instance for this Process,  then business admin deligate each task to a seperate user and that user will complete the task then next task will be created

       

      Any one had any idea about this

       

      When i execute this scenario with 100 concurrent users in load runner then 2% of the markdone operations are failing with Concurrent modifcation exception

      [java] java.util.ConcurrentModificationException

           [java]  at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)

           [java]  at java.util.AbstractList$Itr.next(AbstractList.java:343)

           [java]  at org.jbpm.task.event.MessagingTaskEventListener.taskCompleted(MessagingTaskEventListener.java:72)

           [java]  at org.jbpm.task.event.TaskEventSupport.fireTaskCompleted(TaskEventSupport.java:47)

           [java]  at org.jbpm.task.service.TaskServiceSession.postTaskCompleteOperation(TaskServiceSession.java:497)

           [java]  at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:463)

           [java]  at org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:84)

           [java]  at org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)

           [java]  at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427)

           [java]  at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)

           [java]  at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:177)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)

           [java]  at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

           [java]  at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)

           [java]  at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692)

           [java]  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645)

           [java]  at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634)

           [java]  at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66)

           [java]  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078)

           [java]  at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)

           [java]  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

           [java]  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

           [java]  at java.lang.Thread.run(Thread.java:662)