Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-10819

SourceDataBinding doesn't create a thread safe DataReader

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • EAP_EWP 5.3.0.ER1
    • EAP_EWP 5.2.0
    • Web Services
    • None
    • Hide
      There's a concurrency issue with certain types of SOAP parameter configurations. The SourceDataBinding returns a DataReader shared by multiple threads, potentially causing an occasional IndexOutOfBoundsException on the server. This fix creates a new DataReader for every thread, thus resolving the concurrency issue.
      Show
      There's a concurrency issue with certain types of SOAP parameter configurations. The SourceDataBinding returns a DataReader shared by multiple threads, potentially causing an occasional IndexOutOfBoundsException on the server. This fix creates a new DataReader for every thread, thus resolving the concurrency issue.
    • Documented as Resolved Issue
    • NEW

    Description

      This is the backport of CXF-3332

      There's a concurrency issue with certain types of parameter configurations. The SourceDataBinding returns a DataReader shared by multiple threads, causing the problem.

      2013-03-23 13:09:56,448 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (ajp-0.0.0.0-8109-2) Interceptor for {http://bpmvrqst.dsh.cms.gov/exchange/1.0}PlanManagementRequestService#{http://bpmvrqst.dsh.cms.gov/exchange/1.0}PlanManagementRequest has thrown exception, unwinding now
      java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
                   at java.util.ArrayList.RangeCheck(ArrayList.java:547)
                   at java.util.ArrayList.get(ArrayList.java:322)
                   at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:188)
                   at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
                   at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
                   at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
                   at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
                   at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:186)
                   at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
                   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
                   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
                   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
                   at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                   at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
                   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                   at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
                   at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
                   at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
                   at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
                   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                   at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
                   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                   at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
                   at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
                   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
                   at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)
                   at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:425)
                   at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036)
                   at java.lang.Thread.run(Thread.java:662)
      

      Attachments

        Issue Links

          Activity

            People

              rdickens_jira Russell Dickenson (Inactive)
              rh-ee-klape Kyle Lape
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: