Forum Discussion

chary_chelloji's avatar
chary_chelloji
Occasional Contributor
16 years ago

ConcurrentModificationException in SoapUI

Hi,

While performing the load testing on SoapUI Mock service(By using an external Java application to generate the load) we are encountering the following exception : java.util.ConcurrentModificationException. We tried to handle concurrency using synchronized blocks (like how we handle in Java) in the Mock Service code, but still getting this exception. When we start the load test, for the initial few seconds (around 30-40 seconds) everything works as expected logging multiple players followed by transferring to/from accounts and also start and ending the games. After this, for few of the requests we are encountering this exception. On the whole, out of all the requests we send from bot server, 0.5% to 1% requests are failing due to this exception. While we are still exploring the solution for this, we wanted to know if you have encountered such issue before and if yes, how did you resolve it. Any inputs from your end would be of great help. Also please let us know if there is a way to explicitly handle concurrency in SoapUI.

Here is the stack trace for your reference :

2009-11-19 08:05:22,271 ERROR [errorlog] java.util.ConcurrentModificationException
java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:841)
        at java.util.HashMap$EntryIterator.next(HashMap.java:883)
        at java.util.HashMap$EntryIterator.next(HashMap.java:881)
        at java.util.HashMap.putAll(HashMap.java:569)
        at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunContext.putAll(WsdlMockRunContext.java:196)
        at com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse.execute(WsdlMockResponse.java:271)
        at com.eviware.soapui.impl.wsdl.mock.WsdlMockOperation.dispatchRequest(WsdlMockOperation.java:259)
      at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchPostRequest(WsdlMockRunner.java:307)
        at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:391)
        at com.eviware.soapui.monitor.JettyMockEngine$ServerHandler.handle(JettyMockEngine.java:693)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)


Thanks,
Chary
  • Hi!

    there is a nightly-build up now that should handle this specific concurrency issue, please try it and see if you run into any others..

    regards!

    /Ole
    eviware.com