Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-6525

SWITCHYARD035408 error caused by java.util.ConcurrentModificationException under load

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • fuse-6.x-GA
    • jboss-fuse-6.3
    • SwitchYard
    • None
    • % %
    • Hide

      1. Start Fuse 6.3.0 on EAP
      2. Deploy the attached modified quickstart
      3. Enable DEBUG level logging for the org.switchyard.component package
      4. Use the attached jmeter script to call the soap endpoint concurrently
      5. After some time, the jmeter execution will stop, with the SWITCHYARD035408 error written to the $JMETER_HOME/response1.xml file, and the server.log file showing the full exception

      Show
      1. Start Fuse 6.3.0 on EAP 2. Deploy the attached modified quickstart 3. Enable DEBUG level logging for the org.switchyard.component package 4. Use the attached jmeter script to call the soap endpoint concurrently 5. After some time, the jmeter execution will stop, with the SWITCHYARD035408 error written to the $JMETER_HOME/response1.xml file, and the server.log file showing the full exception

    Description

      Accessing our SOAP based services on Fuse 6.3 concurrently, we are intermittently seeing a SOAP error on our client side software with the error message "SWITCHYARD035408: Failed to map context properties to SOAP message".

      The server.log file shows the full stacktrace with DEBUG level logging enabled for org.switchyard.component:

      DEBUG [org.switchyard.component.soap.util.SOAPUtil] (http-127.0.0.1:8080-6) javax.xml.soap.SOAPException: SWITCHYARD035408: Failed to map context properties to SOAP message
      	at org.switchyard.component.soap.composer.SOAPMessageComposer.decompose(SOAPMessageComposer.java:278)
      	at org.switchyard.quickstarts.camel.soap.proxy.CustomMessageComposer.decompose(CustomMessageComposer.java:24)
      	at org.switchyard.quickstarts.camel.soap.proxy.CustomMessageComposer.decompose(CustomMessageComposer.java:14)
      	at org.switchyard.component.soap.InboundHandler.composeResponse(InboundHandler.java:374)
      	at org.switchyard.component.soap.InboundHandler.invoke(InboundHandler.java:360)
      	at org.switchyard.component.soap.endpoint.BaseWebService.invoke(BaseWebService.java:110)
      	at org.switchyard.component.soap.endpoint.BaseWebService.invoke(BaseWebService.java:40)
      	at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.jboss.ws.common.invocation.AbstractInvocationHandlerJSE.invoke(AbstractInvocationHandlerJSE.java:108)
      	at org.jboss.wsf.stack.cxf.JBossWSInvoker.performInvocation(JBossWSInvoker.java:177)
      	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
      	at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:237)
      	at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:69)
      	at org.jboss.wsf.stack.cxf.JBossWSInvoker.invoke(JBossWSInvoker.java:146)
      	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
      	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
      	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
      	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
      	at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:97)
      	at org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:131)
      	at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
      	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)
      	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
      	at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
      	at org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
      	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.util.ConcurrentModificationException
      	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
      	at java.util.ArrayList$Itr.next(ArrayList.java:851)
      	at org.switchyard.component.common.composer.BaseRegexContextMapper.matches(BaseRegexContextMapper.java:131)
      	at org.switchyard.component.soap.composer.SOAPContextMapper.copyToSOAPHeader(SOAPContextMapper.java:233)
      	at org.switchyard.component.soap.composer.SOAPContextMapper.mapTo(SOAPContextMapper.java:212)
      	at org.switchyard.component.soap.composer.SOAPContextMapper.mapTo(SOAPContextMapper.java:51)
      	at org.switchyard.component.soap.composer.SOAPMessageComposer.decompose(SOAPMessageComposer.java:276)
      	... 44 more
      

      Attachments

        Activity

          People

            tcunning@redhat.com Thomas Cunningham
            rhn-support-mputz Martin Weiler (Inactive)
            Pavel Macik Pavel Macik
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: