Hi Dushan, Have we committed these changes into wso2esb-4.6.0? I am getting this error when load testing.
thank you. On Thu, Nov 29, 2012 at 11:39 AM, Dushan Abeyruwan <dus...@wso2.com> wrote: > Hi > During the iterator operation for larger message observed following > error, this is repeatable for NIO as well as PT, while investigating the > issue found out its due to Linked list modification happens at different > phases [1] [2] the problem has resolved once we introduced > *ConcurrentLinkedQueue > instad LinkedQueue any thoughts on the changers....?* > > > At the AxisEngine > > [1] * @throws AxisFault > */ > private static InvocationResponse invoke(MessageContext msgContext, > boolean resuming) > throws AxisFault { > > if (msgContext.getCurrentHandlerIndex() == -1) { > msgContext.setCurrentHandlerIndex(0); > } > > InvocationResponse pi = InvocationResponse.CONTINUE; > > while (msgContext.getCurrentHandlerIndex() < > msgContext.getExecutionChain().size()) { > Handler currentHandler = (Handler) > msgContext.getExecutionChain(). > get(msgContext.getCurrentHandlerIndex()); > > try { > if (!resuming) { > msgContext.addExecutedPhase(currentHandler); > } else { > /* If we are resuming the flow, we don't want to add > the phase > * again, as it has already been added. > */ > resuming = false; > } > pi = currentHandler.invoke(msgContext); > } > > > --------------------------------------------------------------------------------------- > > [2]. private static void flowComplete(MessageContext msgContext) { > Iterator<Handler> invokedPhaseIterator = > msgContext.getExecutedPhases(); > > while (invokedPhaseIterator.hasNext()) { > Handler currentHandler = ((Handler) > invokedPhaseIterator.next()); > currentHandler.flowComplete(msgContext); > } > > /*This is needed because the OutInAxisOperation currently invokes > * receive() even when a fault occurs, and we will have already > executed > * the flowComplete on those before receiveFault() is called. > */ > msgContext.resetExecutedPhases(); > } > > > a > > > /** > * Add a Phase to the collection of executed phases for the path. > * Phases will be inserted in a LIFO data structure. > * > * @param phase The phase to add to the list. > */ > public void addExecutedPhase(Handler phase) { > if (executedPhases == null) { > executedPhases = new LinkedList<Handler>(); > } > executedPhases.addFirst(phase); > } > > /** > * Remove the first Phase in the collection of executed phases > */ > public void removeFirstExecutedPhase() { > if (executedPhases != null) { > executedPhases.removeFirst(); > } > } > > 43/carbon/ > [2012-11-29 10:55:45,570] INFO - TimeoutHandler This engine will expire > all callbacks after : 120 seconds, irrespective of the timeout action, > after the specified or optional timeout > Listening for transport dt_socket at address: 8888 > [2012-11-29 10:55:48,369] ERROR - NativeWorkerPool Uncaught exception > java.util.ConcurrentModificationException > at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761) > at java.util.LinkedList$ListItr.next(LinkedList.java:696) > at org.apache.axis2.engine.AxisEngine.flowComplete(AxisEngine.java:293) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:182) > at > org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:217) > at > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > [2012-11-29 10:55:55,462] ERROR - NativeWorkerPool Uncaught exception > java.util.ConcurrentModificationException > at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761) > at java.util.LinkedList$ListItr.next(LinkedList.java:696) > at org.apache.axis2.engine.AxisEngine.flowComplete(AxisEngine.java:293) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:182) > at > org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:217) > at > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > [2012-11-29 10:55:55,484] ERROR - NativeWorkerPool Uncaught exception > java.util.ConcurrentModificationException > at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761) > at java.util.LinkedList$ListItr.next(LinkedList.java:696) > at org.apache.axis2.engine.AxisEngine.flowComplete(AxisEngine.java:293) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:182) > at > org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:217) > at > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > [2012-11-29 10:55:56,040] ERROR - NativeWorkerPool Uncaught exception > java.util.ConcurrentModificationException > at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761) > at java.util.LinkedList$ListItr.next(LinkedList.java:696) > at org.apache.axis2.engine.AxisEngine.flowComplete(AxisEngine.java:293) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:182) > at > org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:217) > at > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > [2012-11-29 10:55:56,263] ERROR - NativeWorkerPool Uncaught exception > java.util.ConcurrentModificationException > at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:761) > at java.util.LinkedList$ListItr.next(LinkedList.java:696) > at org.apache.axis2.engine.AxisEngine.flowComplete(AxisEngine.java:293) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:182) > at > org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:217) > at > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > a > > > > cheers, > Dushan Abeyruwan > *Senior Software Engineer* > *Integration Technologies Team* > *WSO2 Inc. http://wso2.com/* > *Mobile:(+94)714408632* > > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Manjula Rathnayaka Software Engineer WSO2, Inc. Mobile:+94 77 743 1987
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev